demo.go(**其他类型转成字符串类型**,strconv.FormatXXX()):
package main
import (
"fmt"
"strconv"
)
func main() {
// 字符串转换成字符切片
slice := []byte("hello") // 强制类型转换 string-->[]byte
fmt.Println(slice) // [104 101 108 108 111]
// 字符切片转换成字符串
slice2 := []byte{'h', 'e', 'l', 'l', 'o', 97}
fmt.Println(string(slice2)) // helloa 强制类型转换 []byte-->string
// strconv.FormatXXX() 其他类型转换成字符串
str1 := strconv.FormatBool(true) // bool-->string
fmt.Println(str1) // true
fmt.Println(strconv.FormatInt(123, 10)) // 123 int-->string 10表示十进制
fmt.Println(strconv.Itoa(123)) // 123 十进制int-->string
fmt.Println(strconv.FormatFloat(3.14, 'f', 6, 64)) // 3.140000 float-->string 6:保留6位 64:float64
}
demo.go(**字符串类型转成其他类型**,strconv.ParseXXX()):
package main
import (
"fmt"
"strconv"
)
func main() {
// strconv.ParseXXX() 字符串转换成其他类型
// strconv.ParseBool() string-->bool
b, err_info := strconv.ParseBool("false")
if err_info != nil { // 如果有错误信息
fmt.Println("类型转换出错")
} else {
fmt.Println(b) // false
}
// strconv.ParseInt() string-->int64
val, err_info := strconv.ParseInt("11011001", 2, 64) // 2:二进制 64:int64
fmt.Println(val) // 217
// strconv.ParseFloat() string-->float64
val2, err_info := strconv.ParseFloat("3.1415", 64) // 64:float64
fmt.Println(val2) // 3.1415
// strconv.Atoi() string-->十进制int
val3, _ := strconv.Atoi("123")
fmt.Println(val3) // 123
}