美文网首页Gogo学习程序员
09. 类型转换 与 类型推导

09. 类型转换 与 类型推导

作者: 厚土火焱 | 来源:发表于2017-08-10 12:00 被阅读110次

    在Go语言中,不同类型的项之间赋值时,需要显式转换。
    表达式 T(v) 将值 v 转换为类型 T 。

    var i int = 42
    var f float64 = float64(i)
    var u uint = uint(f)
    

    或者更简单的写法

    i := 42
    f := float64(i)
    u := uint(f)
    

    当定义了一个变量,却没有显式指出其类型时,变量的类型由等号右侧的值(第一次赋值)推导出变量的类型。
    例如

    i := 42                // int
    f := 3.142            //float64
    g := 0.867 + 0.5i    //complex128
    

    运行下面代码,可以输出类型

    package main
    
    import(
        "fmt"
    )
    
    func main(){
        i := 42
        f := 3.142
        g := 0.867 + 0.5i
        fmt.Printf("i is of type %T\n", i)
        fmt.Printf("f is of type %T\n", f)
        fmt.Printf("g is of type %T\n", g)
    }
    

    运行结果

    i is of type int
    f is of type float64
    g is of type complex128
    

    你可以用这个方法,测试一下各种类型的数据,看看都是什么结果。

    相关文章

      网友评论

        本文标题:09. 类型转换 与 类型推导

        本文链接:https://www.haomeiwen.com/subject/ytchrxtx.html