go 指针

我们知道go中除了map 切片等类型都是进行值传递的,也就是copy一份,不会修改原有数据

  1. 普通指针
package main

import "fmt"

func main() {
	var a int = 1
	var ip *int
	ip = &a
	fmt.Printf("ip: %v\n", ip)
	fmt.Printf("ip: %v\n", *ip)
	*ip = 100
	fmt.Printf("a: %v\n", a)
}
  1. 数组指针
package main

import "fmt"

func main() {
	var a []int = []int{1, 2, 3, 4}

	var ip [4]*int

	for 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)
	}
}

你可能感兴趣的:(GO,golang,开发语言,后端)