Go 学习笔记 类型转换
Go 学习笔记 类型转换
Go 语言是一种强类型语言,不同类型的变量不能自动转换,必须进行显式转换。
在Go中,基本类型(int、float64、string 等) 可以通过显式转换进行转换
目标类型(变量)
package main
import "fmt"
func main() {
//类型转换,整形与浮点型
var a int8 = 20
var b int16 = 40
fmt.Println(int16(a) + b)
//浮点型
var c float32 = 30
var d float64 = 40
fmt.Println(float64(c) + d)
//浮点型与整型
var h float32 = 40.24
var g int = 50
fmt.Println(h + float32(g))
//从低位转换为高位
}
使用strconv 进行类型转换
数字与字符串的转换使用strconv包
方法 说明
strconv.Itoa(int) 整数转字符串
strconv.FormatFloat(float64, 格式, 小数位数, 位数) 浮点数转字符串
package main
import (
"fmt"
"strconv"
)
func main() {
//通过strconv 把其他类型转换为string 类型
var i int = 20
str1 := strconv.FormatInt(int64(i), 10)
fmt.Printf("值: %v 类型: %T\n", str1, str1)
//
var f float32 = 20.23
var str2 = strconv.FormatFloat(float64(f), 'f', 4, 64)
fmt.Printf("值: %v 类型:%T\n", str2, str2)
}
strconv.Atoi(string) 字符串转整数
strconv.ParseFloat(string, 64) 字符串转 float64
strconv.ParseInt(string, 10, 64) 字符串转 int64
package main
import (
"fmt"
"strconv"
)
func main() {
/*
ParseInt
参数1: string 数据
参数2: 进制
参数3: 位数 32 64 16
*/
str := "xxxx"
num, _ := strconv.ParseInt(str, 10, 64)
fmt.Printf("%v--%T", num, num)
}