go 의 값 전달 과 참조 전달

1129 단어 go.
절편 과 지 도 는 모두 인용 유형 이다.현지에서 새로운 변수 로 할당 되 었 을 때 같은 내부 데이터 구 조 를 가리킨다.따라서 그 중의 한 변 수 를 바 꾸 면 다른 변수 에 영향 을 줄 수 있다.
다음은 참조 형식 예제 입 니 다.
package main

import "fmt"

/**
  slices   ,map       。
  map             ,
             。
  ,        ,         。
 */
 func change(i int) (int){
 	i=i+1
 	return i
 }
func main() {
	a:=make(map[string]int)
	a["1"]=11
	a["2"]=22
	a["3"]=33
	fmt.Println(a)
	b:=a
	b["3"]=33333
	fmt.Println(a)
}

출력:
map[1:11 2:22 3:33]
map[3:33333 1:11 2:22]
func main() {
	darr := [...]int{57, 89, 90, 82, 100, 78, 67, 69, 59}
	dslice := darr[2:5]
	fmt.Println("array before", darr)
	for i := range dslice {
		dslice[i]++
	}
	fmt.Println("array after", darr)
}

출력:
array before [57 89 90 82 100 78 67 69 59]
array after [57 89 91 83 101 78 67 69 59]

다음은 값 참조 형식 입 니 다.
func main() {
	a:="aaaa"
	b:=a
	b="bbbbbbbb"
	fmt.Println(a)
	fmt.Println(b)
}

출력:
aaaa
bbbbbbbb

좋은 웹페이지 즐겨찾기