一.静态语言和动态语言
- 静态类型语言和强类型语言是同一个意思,表示在编译期就确定了类型,而且类型是不可以改变的
动态类型语言和弱类型语言是同一个意思,表示在运行过程中才能确定,且内容是什么类型变量类型跟随变化
二.Go语言变量简介
Go语言和其他语言一样都有基本存储容器.可以存储一个或多个值在程序中,方便程序中多次使用容器中内容,这个容器称为:变量
Go语言虽然是静态类型语言,但是支持动态类型语言语法,因为Go语言希望程序员少声明变量,增加GC效率
三.变量命名规则
以字母或下划线开头(Go语言中多不以_开头)
- 后面可以是任意数量的字符、数字和下划线
- 区分大小写
不能是关键字(关键字具备特定含义),下面是Go语言的关键字
| 关键字如下 | | | | | | —- | —- | —- | —- | —- | | break | default | func | interface | select | | case | defer | go | map | struct | | chan | else | goto | package | switch | | const | fallthrough | if | range | type | | continue | for | import | return | var |可以是保留字,但是建议不使用保留字做为变量名,下面是Go语言的保留字
| 保留字如下 | | | | | | —- | —- | —- | —- | —- | | true | false | iota | nil | int | | int8 | int16 | int32 | int64 | unit | | unit8 | unit16 | unit32 | unitptr | float32 | | float64 | complex128 | complex64 | bool | byte | | rune | string | error | make | len | | cap | new | append | copy | close | | deletecomplex | real | imag | panic | | | recover | | | | |在同一范围内不允许出现同名变量
- Go语言要求变量声明后至少使用一次(赋值不属于使用)
四.单个变量声明及赋值
- 先声明后赋值(声明后开辟内存,不同类型变量都有不同初值) ```go //语法: //1. 声明 var 变量名 类型 //2. 赋值 变量名=值
//示例: var smallming string smallming = “英文名”
- 声明并赋值(此方式不建议)
```go
//语法:
var 变量名 类型 = 值
//示例
var smallming string = "英文名"
- 声明并赋值(省略类型,变量类型取决于值的类型) ```go //语法: var 变量名 = 值
//示例: var smallming = “英文名”
- 短变量(只能在函数内使用)
```go
//语法:
变量名 := 值
//示例:
smallming := "英文名"
五.声明多个变量和赋值
先声明后赋值
func main() {
var a, b, c int
a, b, c = 1, 2, 3
fmt.Println(a, b, c)
}
声明时赋值
func main() {
var a, b, c, d = 1, 2, 3, false
fmt.Println(a, b, c, d)
}
声明并赋值,推荐方式
func main() {
var (
a = 1
b = true
c = "测试"
)
fmt.Println(a, b, c)
}
使用短变量给多个变量赋值时,必须要保证至少有个变量是没有声明的
func main() {
var (
a = 1
b = true
c = "测试"
)
//短变量操作多个值时只要保证里面至少有一个新变量
b, c, d := false, "smallming", 3
fmt.Println(a, b, c, d)
}