포인터
C언어나 C++에 포인터가 있듯이 Go에서 포인터가 있다.
포인터는 대용량의 데이터를 다룰 때 유용하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package main
import (
"fmt"
)
func main() {
a := 20
b := a
a = 10
fmt.Println("a 값: ", a, "a 주소: ", &a)
fmt.Println("b 값: ", b, "b 주소: ", &b)
}
|
(결과)
&(앰퍼샌드)를 변수 앞에 붙여주면 그 변수의 주소를 볼 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package main
import (
"fmt"
)
func main() {
c := 20
d := &c
fmt.Println("d 값: ", *d)
}
|
(결과)
d에는 c의 주소가 저장되어 있다. d 앞에 *(스타)를 붙여주면 그 주소에 있는 변수를 볼 수 있다.
1
2
3
4
5
6
7
8
9
10
|
func main() {
c := 20
d := &c
*d = 30
fmt.Println(c, *d)
}
|
결과값: 30 30
c의 주소를 저장한 d
*d=값 으로 c의 값을 변경할 수 있다.
'Golang' 카테고리의 다른 글
[GoLang 시작하기 7] Simple Bank - Method 연습 (0) | 2020.03.26 |
---|---|
[GoLang 시작하기 6] Array, map, struct (0) | 2020.03.20 |
[GoLang 시작하기 4] for, range, if, switch (0) | 2020.03.18 |
[GoLang 시작하기 3] Naked Return과 Defer (0) | 2020.03.17 |
[GoLang 시작하기 2] 함수의 기본 형태, 변수와 상수 (0) | 2020.03.15 |