demo.go(**其他类型转成字符串类型**,strconv.FormatXXX()):

    1. package main
    2. import (
    3. "fmt"
    4. "strconv"
    5. )
    6. func main() {
    7. // 字符串转换成字符切片
    8. slice := []byte("hello") // 强制类型转换 string-->[]byte
    9. fmt.Println(slice) // [104 101 108 108 111]
    10. // 字符切片转换成字符串
    11. slice2 := []byte{'h', 'e', 'l', 'l', 'o', 97}
    12. fmt.Println(string(slice2)) // helloa 强制类型转换 []byte-->string
    13. // strconv.FormatXXX() 其他类型转换成字符串
    14. str1 := strconv.FormatBool(true) // bool-->string
    15. fmt.Println(str1) // true
    16. fmt.Println(strconv.FormatInt(123, 10)) // 123 int-->string 10表示十进制
    17. fmt.Println(strconv.Itoa(123)) // 123 十进制int-->string
    18. fmt.Println(strconv.FormatFloat(3.14, 'f', 6, 64)) // 3.140000 float-->string 6:保留6位 64:float64
    19. }

    demo.go(**字符串类型转成其他类型**,strconv.ParseXXX()):

    1. package main
    2. import (
    3. "fmt"
    4. "strconv"
    5. )
    6. func main() {
    7. // strconv.ParseXXX() 字符串转换成其他类型
    8. // strconv.ParseBool() string-->bool
    9. b, err_info := strconv.ParseBool("false")
    10. if err_info != nil { // 如果有错误信息
    11. fmt.Println("类型转换出错")
    12. } else {
    13. fmt.Println(b) // false
    14. }
    15. // strconv.ParseInt() string-->int64
    16. val, err_info := strconv.ParseInt("11011001", 2, 64) // 2:二进制 64:int64
    17. fmt.Println(val) // 217
    18. // strconv.ParseFloat() string-->float64
    19. val2, err_info := strconv.ParseFloat("3.1415", 64) // 64:float64
    20. fmt.Println(val2) // 3.1415
    21. // strconv.Atoi() string-->十进制int
    22. val3, _ := strconv.Atoi("123")
    23. fmt.Println(val3) // 123
    24. }