E 01 Golang语言之变量和常量
2021-02-20 06:27
标签:建议 keyword 出现 标识符 lin OLE token variable run Ⅰ、标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和 Ⅱ、关键字 关键字是指编程语言中预先定义好的具有特殊含义的标识符。 关键字和保留字都不建议用作变量名。 Go语言中有25个关键字: Ⅲ、保留字 此外,Go语言中还有37个保留字。 Go语言的变量声明格式为: 每声明一个变量就需要写 Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。 每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为 字符串变量的默认值为 当然我们也可在声明变量的时候为其指定初始值。变量初始化的标准格式如下: 举个例子: 或者一次初始化多个变量 有时候我们会将变量的类型省略,这个时候编译器会根据等号右边的值来推导变量的类型完成初始化。 在函数内部,可以使用更简略的 在使用多重赋值时,如果想要忽略某个值,可以使用 匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。 (在 注意事项: 相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把 声明了 多个常量也可以一起声明: const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。 例如: 上面示例中,常量 举个例子: 使用 定义数量级 (这里的 也就是十进制的1024。同理 多个 参考资料:https://www.liwenzhou.com/posts/Go/go_menu/ E 01 Golang语言之变量和常量 标签:建议 keyword 出现 标识符 lin OLE token variable run 原文地址:https://www.cnblogs.com/nuister/p/12682817.html标识符与关键字
_
(下划线)组成,并且只能以字母和_
开头。 举几个例子:abc
, _
, _123
, a123
。 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
Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover
变量(变量声明后必须使用)
标准声明
var 变量名 变量类型
批量声明
var
关键字会比较繁琐,go语言中还支持批量变量声明:1 var (
2 a string
3 b int
4 c bool
5 d float32
6 )
变量的初始化
0
。空字符串
。 布尔型变量默认为false
。 切片、函数、指针变量的默认为nil
。 var 变量名 类型 = 表达式
1 var name string = "gychen"
2 var age int = 18
var name, age = "gychen", 20
类型推导
1 var name = "gychen"
2 var age = 18
短变量声明
:=
方式声明并初始化变量。 1 package main
2
3 import (
4 "fmt"
5 )
6 // 全局变量m
7 var m = 100
8
9 func main() {
10 n := 10
11 m := 200 // 此处声明局部变量m
12 fmt.Println(m, n)
13 }匿名变量
匿名变量(anonymous variable)
。 匿名变量用一个下划线_
表示,例如:1 func foo() (int, string) {
2 return 10, "gychen"
3 }
4 func main() {
5 x, _ := foo()
6 _, y := foo()
7 fmt.Println("x=", x)
8 fmt.Println("y=", y)
9 }
Lua
等编程语言里,匿名变量也被叫做哑元变量。)
:=
不能使用在函数外。_
多用于占位,表示忽略值。常量
var
换成了const
,常量在定义的时候必须赋值。1 const pi = 3.1415
2 const e = 2.7182
pi
和e
这两个常量之后,在整个程序运行期间它们的值都不能再发生变化了。1 const (
2 pi = 3.1415
3 e = 2.7182
4 )
1 const (
2 n1 = 100
3 n2
4 n3
5 )
n1
、n2
、n3
的值都是100。iota
iota
是go语言的常量计数器,只能在常量的表达式中使用。iota
在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota
计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。1 const (
2 n1 = iota //0
3 n2 //1
4 n3 //2
5 n4 //3
6 )
几个常见的
iota
示例:_
跳过某些值1 const (
2 n1 = iota //0
3 n2 //1
4 _
5 n4 //3
6 )
iota
声明中间插队1 const (
2 n1 = iota //0
3 n2 = 100 //100
4 n3 = iota //2
5 n4 //3
6 )
7 const n5 = iota //0
表示左移操作,
1表示将1的二进制表示向左移10位,也就是由
1
变成了10000000000
,2表示将2的二进制表示向左移2位,也就是由
10
变成了1000
,也就是十进制的8。)1 const (
2 _ = iota
3 KB = 1 iota)
4 MB = 1 iota)
5 GB = 1 iota)
6 TB = 1 iota)
7 PB = 1 iota)
8 )
iota
定义在一行1 const (
2 a, b = iota + 1, iota + 2 //1,2
3 c, d //2,3
4 e, f //3,4
5 )