golang 基础数据类型转换

之前我一直都是用 PHP 写代码的,从来没有遇到过需要转换数据类型的情况,但现在开始使用 Golang 写代码了,遇到了很多需要转换数据类型的情况,在这里总结一下备用。

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // string => int
    s := "123000000000"
    i, err := strconv.Atoi(s)
    if err != nil {
        panic(err)
    }
    fmt.Println(i)
    // string => int64
    i64, err := strconv.ParseInt(s, 10, 64)
    if err != nil {
        panic(err)
    }
    fmt.Println(i64)
    // string => uint64
    ui64, err := strconv.ParseUint(s, 10, 64)
    if err != nil {
        panic(err)
    }
    fmt.Println(ui64)
    // string =>float
    fl64, err := strconv.ParseFloat(s, 64)
    if err != nil {
        panic(err)
    }
    fmt.Println(fl64)
    // int => string
    s = strconv.Itoa(i)
    fmt.Println(s)
    // int64 => string
    s = strconv.FormatInt(i64, 10)
    fmt.Println(s)
    // uint64 => string
    s = strconv.FormatUint(ui64, 10)
    fmt.Println(s)
    // float64 => string
    s = strconv.FormatFloat(fl64, 'f', 10, 64)
    fmt.Println(s)
    
    // 数字类型之间转换
    //i8 := int8(i)
    //i16 := int16(i)
    //i32 := int32(i)
    //i64 = int64(i)
    //ui8 := uint8(i)
    //fl32 := float32(i)
}
Comments
Write a Comment