变量
Go变量命名和C语言一样,由字母、数字、下划线组成,其中首个字符不能为数字,声明变量的形式为:
var identifier type
var identifier1, identifier2 type
例如:
var strValue string
var intValue1,intValue2 int
如果没有初始化,则变量默认为零值(数值类型为0,布尔类型为false,字符串为空字符串,指针,数组,函数等为nil)。
当有初始值时可不指明类型,这个时候编译器会根据值自行推断类型。
var strValue="hello"
var intValue1=2
使用初始值声明变量且不指明类型时可省略var,将=替换为:=,:=左边的变量必须是未声明过的。
strValue := "hello"
intValue1 := 2
多个变量声明和赋值:
//声明多个相同类型变量
var strValue1,strValue2,strValue3 string
//多个变量赋值
strValue1,strValue2,strValue3="abc","def","jkl"
//声明多个不同类型变量
var value1,value2,value3=1,"hello",false
value4,value5,value6:=2,"world",true
还可以使用var加括号的形式声明多个变量:
var (
strValue1 string
value1 int
)
如果变量声明了但是没有使用,编译会报错,在多变量赋值时,如果有不需要使用的变量,可以用匿名变量_代替,例如:
func main() {
str:="hello"
for _,c:=range str{
fmt.Println(c)
}
}
常量
常量和变量的声明格式很像,仅仅是var换成了const:
const identifier type = value
const identifier = value
const strValue1 string="hello"
const value1=100
运算符
Go的运算符和C几乎一样,但有以下不同:
- 不支持三元运算符a ? 1:2。
- 取反运算符为^而不是~。
- 自增和自减运算符只有后置的没有前置,自增和自减运算符没有返回值。
有疑问加站长微信联系(非本文作者)