go指针跟c语言里的指针类似
go函数可以返回局部变量的地址。
func fun() *int{
m := 1
return &m
}
var p = fun()
fmt.Println(fun() == p) //false
var n = flag.Bool("n", false,"newline")
var sep = flag.String("s", " ", "separator")
func main(){
flag.Parse()
fmt.Print(strings.Join(flag.Args(), *sep))
if !*n{
fmt.Println()
}
}
dup1.exe -help
Usage of dup1.exe:
-n newline
-s string
separator (default " ")
new函数:
p := new(int) //int*类型p,指向未命名的int变量
new函数可以创建未命名的类型变量。
下面两个函数具有同样的行为:
func GetIntPtr() *int{
return new(int)
}
func GetPtr() *int{
var r int
return &r
}