如果包含包名, 则应该是 *.T
代表指针类型的符号 '*' 总是和类型放在一起,而不是紧挨着变量名
同样支持指针的指针**T
1.声明
var a, b *int
2.说明
操作符&取变量地址,用*透过指针变量间接访问目标对象
默认值是nil,没有NULL常量
不支持指针运算,不支持‘->'预算福,直接'.'选择符操作指针目标对象成员
可以在unsafe.Pointer和任意类型指针间进行转换
可以将unsafe.Pointer转换为uintptr,然后变相做指针运算,uintptr可以转换为整数
3.示例
package main
import "fmt"
type User struct {
Id int
Name string
}
func main(){
i := 100
var p *int = &i //取地址
println(*p) //取值
up := &User{1, "Jack"}
up.Id = 100 //直接取只针对想成员
fmt.Println(up)
u2 := *up //拷贝对象
u2.Name = "Tom"
fmt.Println(up, u2)
}
4.结果:
100
&{100 Jack}
&{100 Jack} {100 Tom}
分组声明
import (
"fmt"
"os"
)
const (
i = 100 //首行必须有常量表达式
pi = 3.1415
)
var ( //全局变量可用,函数体内不支持
i int
pi float32
)










