golang中一些类型转换

631 阅读1分钟

golang中的类型转换

在golang中有个包叫做strconv,我们在引入这个包之后,去调用其中的Atio方法,该方法是把string转换为int

1、string转成int:

int, err := strconv.Atoi(string)

2、ParseInt是把string转换为int64

string转成int64:

int64, err := strconv.ParseInt(string, 10, 64)

3、Itoa是把int转换为string

int转成string:

string := strconv.Itoa(int)

4、formatInt是把int64转换为string

int64转成string:

string := strconv.FormatInt(int64,10)

5、字符串到float32/float64

float32, err = ParseFloat(string, 32)  

float64,err = ParseFloat(string,64)

6、int64转int

int:=int(int64) 

7、int转int64

int64:=int64(int)

二、interface{}与其他类型之间的转换

转换方式包括隐式转换与断言转换。 1、interface{}类型转换成具体类型:interfaceVar.(具体类型)

原理:断言实现。如:

断言成功返回true,失败返回false

value, ok := a.(string)
if !ok {
    fmt.Println("It's not ok for type string")
    return
}
fmt.Println("The value is ", value)

2、具体类型可以隐式转换成interface{}类型

3、string与[]byte之间的转换:

string到[]byte:字节数组=[]byte(字符串)

字节数组到string: 字符串=string([]byte)