package main
import "fmt"
func main() {
//a := 10
var p *int
//p=&a
p = new(int)
*p = 666
fmt.Println("p=", p)
fmt.Println("*p=", *p)
b := *p
fmt.Println("b=", b)
fmt.Println("&b=", &b) //b地址跟p不同
//自动推导
q := new(int)
*q = 777
fmt.Println("*q=", *q)
//
m, n := 10, 20
//swap(m, n)//变量传递值,不会改变值;传递给新的变量
swap2(&m, &n) //传递指针 交换指针指向;值会发生变化
fmt.Printf("m=%d,n=%d\n", m, n)
}
func swap(m, n int) {
m, n = n, m
fmt.Printf("交换后 m=%d,n=%d\n", m, n)
}
func swap2(m, n *int) {
*m, *n = *n, *m
fmt.Printf("交换后 m=%d,n=%d\n", *m, *n)
}
3.2 go new函数的使用
猜你喜欢
转载自blog.csdn.net/h4241778/article/details/105282309
今日推荐
周排行