对变量的官方说明:https://tour.go-zh.org/basics/8

  • 1. 关键字var声明变量。

变量使用var关键字声明,个var语句可以声明1个或多个变量。如果声明后不赋值。会设置默认值。

import "fmt"
var c, python, java bool
func main() {
    var i int
    fmt.Println(i, c, python, java) //0 false false false
}
  • int 的默认值是0。

  • bool 的默认值是false。

  • 2. 类型推导。

声明一个变量直接赋予值。这个变量的类型会根据赋值的类型推导出来。

package main
import "fmt"

func main()  {
    var j = 10.5
    fmt.Println(j)
}
  • 3. 省略var。

省略var关键字使用:=,:=左边的变量必须没有声明过。否则编译报错。

package main
import "fmt"

func main()  {
    num := 8
    fmt.Println(num)
}
  • 4. 多变量声明

4.1. 一次性声明多个变量并赋值。

package main
import "fmt"

func main()  {
    var name,age,sex = "tom",18,"男"
    fmt.Println(name,age,sex)//tom 18 男
}

例子:var ()的方式:

package main

import "fmt"
var n1 = 100
var n2 = 500
var name = "tom"

var (
    age = 30
    sex = "男"
)
func main()  {
    fmt.Println(n1,n2,name,age,sex)//100 500 tom 30 男
}

4.2. 省略var,一次性声明多个变量并赋值。

package main
import "fmt"

func main()  {
    name,age,sex := "tom",18,"男"
    fmt.Println(name,age,sex)//tom 18 男
}
  • 5. 变量数据类型不能改变。

import "fmt"

func main()  {
    var name  = "张三"
    name = "李四"
    name = 10 //本行编译错误。改变了数据类型
    fmt.Println(name)
}

上面的name变量原来是string,改为int类型的10就会编译出错。

results matching ""

    No results matching ""