string 类型和整型 浮点型 布尔值型 byte型的转换

1 .使用fmt.Sprintf 其它类型 转 string 类型

说明 %v 代表值 %T 代表数据类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    import (
        "fmt"
        "strconv"
    )
    var n int = 30
    var m float64 = 12.34
    var b bool = true
    var c byte = 'a'

    str1 := fmt.Sprintf("%d", n)
    fmt.Printf("%v--%T\n", str1, str1) // 30--string

    str2 := fmt.Sprintf("%.2f", m)
    fmt.Printf("%v--%T\n", str2, str2) // 12.34--string

    str3 := fmt.Sprintf("%t", b)
    fmt.Printf("%v--%T\n", str3, str3) // true--string

    str4 := fmt.Sprintf("%c", c)
    fmt.Printf("%v--%T\n", str4, str4) // a--string

2.使用strconv 转换类型

其它类型 转 string

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    //整型转换
    var n1 int64 = 40
    str_n := strconv.FormatInt(n1, 10)
    fmt.Printf("%v--%T\n", str_n, str_n) //40--string

    //浮点型转换
    var f1 float64 = 40.3213213
    str_f := strconv.FormatFloat(f1, 'f', 2, 32)
    fmt.Printf("%v--%T\n", str_f, str_f) //40.32--string

    //布尔型转换 无意义
    var b1 bool = false
    str_b := strconv.FormatBool(b1)
    fmt.Printf("%v--%T\n", str_b, str_b) //false--string

    //byte转换 无意义
    var c1 byte = 'a'
    str_c := strconv.FormatUint(uint64(c1), 10)
    fmt.Printf("%v--%T\n", str_c, str_c) //97--string

string 转其它类型

1
2
3
4
5
6
7
8
9
   //string 转 int
    var m1 = "12312321"
    num, _ := strconv.ParseInt(m1, 10, 64) // 10 代表进制 64 代表位数
    fmt.Printf("%v--%T\n", num, num) // 12312321--int64
   
    //string 转 flaot
    var fl = "123.354543"
    flo_num,_ :=strconv.ParseFloat(fl,64) //64 代表 位数
    fmt.Printf("%v--%T\n", flo_num, flo_num) //123.354543--float64