【金秋打卡】第12天 Go开发工程师全新版 3-1
2022/11/8 3:24:07
本文主要是介绍【金秋打卡】第12天 Go开发工程师全新版 3-1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称: Go开发工程师全新版
课程章节: 3-1 如何定义变量
课程讲师: bobby
课程内容:
go 是静态语言,静态语言和动态语言相比变量差异很大
go 中定义变量有如下特点
-
变量必须先定义后使用(局部变量)
-
变量必须有类型
-
类型定下来后不能改变
定义变量的方式
使用 var 关键子定义变量:var [变量名] [变量类型] = [变量值]
-
先定义变量再赋值
package main func main() { // 定义变量name,类型是 int 类型 var name int // 赋值,这里的值要和定义的变量类型一致 name = 1 }
-
定义变量并赋初始值
定义一个变量并 赋初始值时 变量类型可以省略。单独定义不能省略 变量类型
package main func main() { var name int = 1 // 定义一个变量并赋初始值时 变量类型可以省略,如下 var age = 1 // 单独定义不能省略 变量类型 var name // 错误写法 }
-
在一个 var 中定义多个变量
package main func main() { var ( name string = "bobby" // 写全 age = 12 // 赋值的简写 ok bool // 不赋值,需要写类型 ) }
-
使用
:=
可以更简单的 定义变量 并 赋初始值【简洁变量定义】:=
赋值符号可以省略 var 关键字注意:
- 简洁变量定义不能在 全局 中
:=
是定义变量并赋初始值不是赋值,赋值使用=
不需要加:
package main age := 1 // 错误,不能在全局中这样写 func main() { age := 1 }
-
一行定义多个变量
package main import "fmt" func main() { // 多变量定义,类型一致 var user1, user2, user3 string // 这里赋初始值 var user1, user2, user3 = ”bobby1“, 1, "bobby3" }
定义变量的一些注意事项
-
变量必须先定义才能使用
package main import "fmt" func main() { fmt.Print(user) //错误,不能使用未定义的变量 }
-
go语言是静态语言,要求变量的类型和赋值类型一致
package main import "fmt" func main() { var address string = 1 // 错误,定义的类型 和 赋值的类型不一致 }
-
同一代码快变量名不能冲突
全局的变量名 可以和 局部变量名 重名,但优先级是 局部变量 > 全局变量
package main import "fmt" var age = 1 func main() { age := 1 age = “bobby” // 错误,同一代码快变量名冲突 }
-
简洁变量定义不能用于全局变量
package main import "fmt" var age = 1 age := 1 // 错误,简洁变量定义不能用于全局变量 func main() { age := 1 age = “bobby” // 错误,同一代码快变量名冲突 }
-
变量不赋初始值的话是有默认值的,每个类型默认值不一样
package main import "fmt" func main() { var age int var age2 string fmt.Print(age) // 值为 0 fmt.Print(age2) // 值为 ‘’ }
-
定义了局部变量一定要使用,否则会报错
package main func main() { var age int // 错误,没有使用 }
全局变量和局部变量
变量分为 全局变量 和 局部变量。
全局变量:写在在 main 函数外面**
局部变量:写在在 main 函数里面,局部变量必须使用
package main import 'fmt' // 全局变量 var name = “bobby” func main() { // 局部变量 var age = 1 // 使用局部变量 fmt.Print(age) }
需要注意:go语言中定义局部变量后必须使用,全局变量可以不使用
package main import 'fmt' // 定义全局变量后可以不使用 var name = “bobby” func main() { //定义局部变量必须使用 age := 1 // 使用局部变量 fmt.Print(age) }
课程收获:
- var 关键字定义变量
- 全局遍历和局部遍历的定义
- 定义变量的一些注意事项
这篇关于【金秋打卡】第12天 Go开发工程师全新版 3-1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享
- 2024-12-10搭建个人博客网站之一、使用hugo创建个人博客网站