三、Go变量声明及其赋值
1、变量声明
方式一、声明不赋值
// 声明一个未赋值的字符串类型变量name。
var name string
name = "李四"
Ps注意:声明变量一定要使用,不然报错
方式二、声明变量并赋值
var age int = 19
方式三、声明变量但不指定类型,则由数据推导出类型
如 "city"为string,10为int
var city = "北京"
方式四、短声明。作用是简化变量定义,含义是声明变量并赋值,类型由数据推导
phone := 13888888888
s:注意:使用:=声明赋值的变量是不能被定义过的变量
2、批量声明变量
使用var 或 :=可以一次性声明多个变量
方式一 var
var (
name01 = "王五"
name02 = "赵六"
)
方式二 :=
name03 , name04 := "王一" , "王二"
3、批量赋值
// 先批量声明,对其进行批量赋值
var (
name05 string
name06 string
)
name05 , name06 = "王三" , "王四"
4、匿名变量
匿名变量使用 _ 声明
// 定义一个函数,getWebName,有两个返回值,若只想用webUrl,则可用 _ 实现
_,webUrl := getWebName()
func getWebName() (webName string, webUrl string) {
return "自如初", "https://www.ziruchu.com"
}
5、变量作用域
1)Go语言中的变量是块作用域。块,指的是使用{}定义的代码段
2)定义在块内的是局部变量,定义在块外的是全局变量
6、完整案例
package main
import "fmt"
// 全局变量
var superMan string = "全局变量,超人一样的变量"
func main() {
// 一、变量声明
// 方式一、声明不赋值
var name string
name = "李四"
// 方式二、声明变量并赋值
var age int = 19
// 方式三、声明变量但不指定类型,则由数据推导出类型
// 如 "city"为string,10为int
var city = "北京"
// 方式四、短声明。
phone := 13888888888
// 二、批量声明变量
// 使用var 或 :=可以一次性声明多个变量
// 方式一 var
var (
name01 = "王五"
name02 = "赵六"
)
// 方式二 :=
name03 , name04 := "王一" , "王二"
// 三、批量赋值
var (
name05 string
name06 string
)
name05 , name06 = "王三" , "王四"
// 四、匿名变量
_,webUrl := getWebName()
// 五、变量作用域
// 1)Go语言中的变量是块作用域。块,指的是使用{}定义的代码段
// 2)定义在块内的是局部变量,定义在块外的是全局变量
fmt.Println(name,age,city,phone)
fmt.Println(name01,name02,name03,name04,name05,name06)
fmt.Println(webUrl,superMan)
}
func getWebName() (webName string, webUrl string) {
return "自如初", "https://www.ziruchu.com"
}
我是夕阳何处寻,期待和优秀的你一起同行!
夕阳何处寻
2020年04月14日
请登录后再评论