我们知道go中除了map 切片等类型都是进行值传递的,也就是copy一份,不会修改原有数据
- 普通指针
package mainimport "fmt"func main() {var a int = 1var ip *intip = &afmt.Printf("ip: %v\n", ip)fmt.Printf("ip: %v\n", *ip)*ip = 100fmt.Printf("a: %v\n", a)
}
- 数组指针
package mainimport "fmt"func main() {var a []int = []int{1, 2, 3, 4}var ip [4]*intfor i := 0; i < len(ip); i++ {ip[i] = &a[i]}fmt.Printf("ip: %v\n", ip)for _, v := range ip {fmt.Printf("v: %v\n", *v)}
}