Go学习(五)Go的特殊语法

Go语言=和:=有什么区别

  • = 符号的意思是给变量赋值,如果要使用必须先var声明
  • := 符号的意思是声明并赋值,并且系统自动推断类型,不需要使用var声明
1
2
3
4
5
6
7
8
9
10
// 使用var声明变量
var a = 100
var b int = 100
// 如果var已经声明过这个变量了,想赋值给这个变量使用的是=,而不是:=
var c
c = 100
// 声明并赋值
d := 100

Go语言指针符号的*和&

  • & 符号的意思是对变量取地址,如:变量a的地址是&a
    • 符号的意思是对指针取值,如:*&a,就是a变量所在地址的值,当然也就是a的值了

注意:

1
2
* 和 & 可以互相抵消,同时注意,*& 可以抵消掉,但 &* 是不可以抵消的
a 和 *&a 是一样的,都是a的值,值为1 (因为 *& 互相抵消掉了)

参考文章: