09. 类型转换 与 类型推导

在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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容