变量和常量
-
变量
- 定义和声明
- 在Go语言中,可以使用
var关键字来声明变量。例如,var num int声明了一个名为num的整数类型变量。变量声明后会有一个默认值,对于数值类型默认是0,字符串类型默认是"",布尔类型默认是false等。 - 也可以在声明变量的同时进行初始化,如
var num int = 5或者更简洁的写法(编译器可以自动推断类型)num := 5。后者是短变量声明,它只能在函数内部使用。
- 在Go语言中,可以使用
- 变量的作用域
- 变量的作用域决定了变量在程序中的可见性和生命周期。在函数内部声明的变量(使用
var或者:=),其作用域仅限于该函数内部。例如:
func myFunction() { var localVar int localVar = 10 // localVar只能在myFunction函数内部访问 }- 全局变量是在函数外部声明的变量,它可以在整个包内被访问(如果变量名首字母大写,还可以被其他包访问)。例如:
var globalVar int func anotherFunction() { globalVar = 20 } - 变量的作用域决定了变量在程序中的可见性和生命周期。在函数内部声明的变量(使用
- 类型转换
- Go语言是强类型语言,不同类型的变量之间进行操作时可能需要进行类型转换。例如,将一个整数转换为浮点数可以使用
float32(num)或者float64(num),其中num是一个整数变量。注意,类型转换需要保证转换是合理的,否则可能会导致数据丢失或错误。
- Go语言是强类型语言,不同类型的变量之间进行操作时可能需要进行类型转换。例如,将一个整数转换为浮点数可以使用
- 定义和声明
-
常量
- 定义和声明
- 常量使用
const关键字声明。例如,const PI = 3.14159声明了一个名为PI的常量,其值为3.14159。常量的值在定义后不能被修改。 - 常量也可以是一组相关的值,例如:
const ( STATUS_SUCCESS = 0 STATUS_FAILURE = 1 ) - 常量使用
- 常量生成器(iota)
iota是Go语言中的一个特殊常量,用于在常量声明中自动生成连续的值。例如:
const ( FIRST = iota SECOND THIRD )- 在这里,
FIRST的值为0,SECOND的值为1,THIRD的值为2。iota在每个const块的开头被重置为0,并且在每个常量声明中自动递增1。
- 常量的类型推断和显式类型声明
- 与变量类似,常量声明时也可以省略类型,编译器会根据初始化值自动推断类型。例如,
const num = 5,编译器会推断num为整数类型。也可以显式声明常量的类型,如const num int = 5。不过,在很多情况下,省略类型可以让代码更简洁,只要编译器能够正确推断类型即可。
- 与变量类似,常量声明时也可以省略类型,编译器会根据初始化值自动推断类型。例如,
- 定义和声明