Go学习笔记----7,Go语言中string和interface{}各种类型互转

package main
 

import (
    "fmt"
    "strconv"
)
 
func main() {
    //string与int互转
    var num1 int = 10;
    //Itoa底层调用的是FormatInt
    //I to S
    str1 := strconv.Itoa(num1)
    fmt.Println(str1)
    //S to I
    num1_int, _ := strconv.Atoi(str1)
    fmt.Println(num1_int)
 
    //int64与string类型
    var num2 int64 = 432;
    //I to S
    str2 := strconv.FormatInt(num2, 10)
    fmt.Println(str2)
    //S to I
    num2_int, _ := strconv.ParseInt(str2, 10, 64)
    fmt.Println(num2_int)
 
    //float与string互转
    //bitSize表示最后一位的位数设置为float32或者float64类型
    var f1 float64 = 12.432
    //F to S
    str3 := strconv.FormatFloat(f1, 'E', -1, 32)
    fmt.Println(str3)
    //S to F
    f_float, _ := strconv.ParseFloat(str3, 32)
    fmt.Println(f_float)
 
    //    bool与string互转
    var bb bool = true
    //B to S
    str4 := strconv.FormatBool(bb)
    fmt.Println(str4)
    //S to B
    b, _ := strconv.ParseBool(str4)
    fmt.Println(b)
 
    //interface转其他类型————返回值是interface,直接赋值是无法转化的
    //interface 转string
    var a interface{}
    var str5 string
    a = "3432423"
    str5 = a.(string)
    fmt.Println(str5)
 
    //interface 转int
    var m interface{}
    var m1 int
    m = 43
    m1 = m.(int)
    fmt.Println(m1)
 
    //interface 转float64
    var ff interface{}
    var ff1 float64
    ff = 432.54
    ff1 = ff.(float64)
    fmt.Println(ff1)

--------------------- 
作者:double_happiness 
来源:CSDN 
原文:https://blog.csdn.net/double_happiness/article/details/84662248 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/xiaomucgwlmx/article/details/88873608