← 返回首页
Go基础教程(二)
发表时间:2022-10-09 15:27:20
变量声明

Go 语言中不同类型的变量,需要先声明,才能够被使用。

1.变量声明

Go 语言中声明变量需以 var 关键字开头,变量名放在中间,变量类型放在最后。注意: 行尾无分号。

var 变量名 变量类型

实例:

package main

import "fmt"

var num int // 声明一个整型的变量,被用来保存整数数值
var name string
var price float64 //float64等同于其它语言的double
func main() {
    fmt.Println("num=", num)
    fmt.Println("name=", name)
    fmt.Println("price=", price)
}

运行结果:

num= 0
name=    
price= 0 

也可以批量声明(省略了每次的var),声明的同时赋初值。

package main

import "fmt"

var (
   num   int     = 100 // 声明一个整型的变量,被用来保存整数数值
   name  string  = "zhangsan"
   price float64 = 216.8 //float64等同于其它语言的double
)

func main() {
   fmt.Println("num=", num)
   fmt.Println("name=", name)
   fmt.Println("price=", price)
}

运行结果:

num= 100
name= zhangsan 
price= 216.8  

编译器推导声明,无需指定类型,类似Javascript的声明方式:

package main

import "fmt"

var (
   num   = 100 // 声明一个整型的变量,被用来保存整数数值
   name  = "zhangsan"
   price = 216.8 //float64等同于其它语言的double
)

func main() {
   fmt.Println("num=", num)
   fmt.Println("name=", name)
   fmt.Println("price=", price)
}

还可以使用短变量声明与初始化,但是只能在函数体内使用。

package main

import "fmt"

func main() {
   num  := 100 // 声明一个整型的变量,被用来保存整数数值
   name := "zhangsan"
   price := 216.8 //float64等同于其它语言的double
   fmt.Println("num=", num)
   fmt.Println("name=", name)
   fmt.Println("price=", price)
}

2.匿名变量

匿名变量就是一个没有名字的变量,通常用下划线 _ 来表示。

这玩意什么场景下会用到呢?

举个例子,假设有这种场景,需要调用某个函数 getStudent(),来查询数据库中某个学生的数据,函数会返回两个数值,分别是:

但是呢,我们只需要获取学生的姓名就行了,年龄并不需要,但是又不想为其单独声明一个变量,这时匿名变量就有用武之地了:

package main

import "fmt"

func getStudent() (string, int) {
   return "张三", 23
}

func main() {
   name, _ := getStudent()
   fmt.Println("姓名:", name)
}

3.多重赋值特性

我们知道在其它编程语言中,要实现两个整数的交换,通常需要借助中间变量。但是Go 语言中利用多重赋值的特性可以轻松实现两个整数的交换。


func main() {
   x := 10
   y := 7
   x, y = y, x
   fmt.Println("x=", x, ",y=", y)
}