Go语言开发(3)变量
  TEZNKK3IfmPf 2023年11月14日 25 0

一、变量声明

1.1 声明一个变量

Go 语言中声明变量使用关键字var,然后变量名,最后变量类型,即

var  变量名  变量类型

如:

var name string
var age int
var isTrue bool

1.2 批量声明变量

Go 语言中可以一次性声明多个变量,使用一个 var 关键字,把变量写到一对小括号中,如下:

var (
	name string
	age int
	isTrue bool
)

二、变量的初始化

2.1 声明变量默认的初始化值

Go 语言中在声明变量的时候,如果不对变量赋值 Go 语言默认会对变量进行初始化,比如字符串类型默认初始化值为 “”,整型变量默认初始化值为0,布尔类型默认初始化值为false,切片、函数、指针类型变量默认初始化值为 nil,如下:

package main

import "fmt"

func main() {
     
       
	var name string
	var age int
	var isTrue bool
	fmt.Println(name)
	fmt.Println(age)
	fmt.Println(isTrue)
}

执行结果为:


0
false

2.2 变量声明时赋值

变量声明时赋值格式如下:

var 变量名  变量类型 = 变量赋值表达式

如下:

package main

import "fmt"

func main() {
     
       
	var name string = "Jack"
	var age int =20
	var isTrue bool = true
	fmt.Println(name)
	fmt.Println(age)
	fmt.Println(isTrue)
}

执行结果为:

Jack
20
true

2.3 类型推导

变量在声明时如果直接赋值可以不指定变量类型,此时 Go 语言会自动从变量的赋值中推导出变量的类型,格式如下:

var 变量名 = 变量值

如下:

package main

import "fmt"

func main() {
     
       
	var name = "Jack"
	var age =20
	var isTrue = true
	fmt.Println(name)
	fmt.Println(age)
	fmt.Println(isTrue)
}

执行结果如下:

Jack
20
true

2.4 一次性给多个变量赋值

Go 语言支持一次性对多个变量进行赋值,如下:

package main

import "fmt"

func main() {
     
       
	var name, age, isTrue = "Jack", 20, true
	fmt.Println(name)
	fmt.Println(age)
	fmt.Println(isTrue)
}

执行结果如下:

Jack
20
true

三、短变量声明

在 Go 语言中,可以通过 := 运算符对变量进行声明,从而不需要使用var关键字,这里需要注意的是,这种用法只能在函数内使用,在函数外是不可以这么使用的,使用格式如下:

变量名 := 变量值

如下:

package main

import "fmt"

func main() {
     
       
	name := "Jack"
	age := 20
	isTrue := true
	fmt.Println(name)
	fmt.Println(age)
	fmt.Println(isTrue)
}

执行结果如下:

Jack
20
true

四、匿名变量

因为 Go 语言中,声明的变量必须使用,因此,当调用函数有多个返回值,匿名变量就很重要了,在 Go 语言中,匿名变量使用 _ 表示

如下:

import "fmt"

func getNameAndAge()(string,int){
     
       
	return "Jack", 20
}

func main() {
     
       
	name, _ := getNameAndAge()
	fmt.Println(name)
}

执行结果为:

Jack
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   41   0   0 golanghttps
  TEZNKK3IfmPf   2023年11月15日   32   0   0 golang
  TEZNKK3IfmPf   2024年05月31日   23   0   0 后端golang开发语言
  TEZNKK3IfmPf   2023年11月15日   32   0   0 golang
  TEZNKK3IfmPf   2024年05月17日   49   0   0 算法javagolang
TEZNKK3IfmPf