GO学习笔记 - 数据类型推导

官方教程:https://tour.go-zh.org/basics/14

在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法), 变量的类型由(等号)右侧的值推导得出。

当右值定义了类型时,新变量的类型与其相同:

var i int
j := i // j 也是一个 int

但是当右边包含了未指名类型的数字常量时,新的变量就可能是 intfloat64complex128 。 这取决于常量的精度:

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

尝试修改演示代码中 v 的初始值,并观察这是如何影响其类型的。

官方示例:

package main

import "fmt"

func main() {
        v := 42 // change me!
        fmt.Printf("v is of type %T\n", v)
}