基本数据类型和String转换
1.基本类型 -> string
法一:fmt.Sprintf()
func main() {
func main() {
var t1 int = 1
var t2 float64 = 1.1
var t3 bool = false
var t4 byte = 't'
var str string
//int
str = fmt.Sprintf("%d", t1)
fmt.Printf("%T %v\n", str, str)
//float
str = fmt.Sprintf("%f", t2)
fmt.Printf("%T %q\n", str, str)
//bool
str = fmt.Sprintf("%t", t3)
fmt.Printf("%T %q\n", str, str)
//byte
str = fmt.Sprintf("%c", t4)
fmt.Printf("%T %q\n", str, str)
}
法二:strconv
func main() {
var num1 int = 99
var num2 float64 = 12.345
var b1 bool = true
var str string
//int64
str = strconv.FormatInt(int64(num1), 10)
fmt.Printf("%T %q", str, str)
//float
str = strconv.FormatFloat(num2, 'f', 10, 64)
fmt.Printf("%T %q", str, str)
//bool
str = strconv.FormatBool(b1)
fmt.Printf("%T %q", str, str)
}
2.string -> 基本类型
strconv
func main() {
var str1 string = "123"
var str2 string = "123.456"
var str3 string = "true"
//int
var n1 int64
var n2 int
n1 , _ = strconv.ParseInt(str1,10,64)
n2 = int(n1)
fmt.Printf("%T %v\n",n1,n1)
fmt.Printf("%T %v\n",n2,n2)
//float
var f float64
f , _ = strconv.ParseFloat(str2,64)
fmt.Printf("%T %v\n",f,f)
//bool
var b bool
b , _ = strconv.ParseBool(str3)
fmt.Printf("%T %v\n",b,b)
}
注意:转换失败时,int、float等会转为0,bool转为false