프로그래밍/Go언어

[Go언어] 6. 포인터

유뱃 2016. 1. 8. 18:23


포인터


Go언어에서도 포인터를 지원합니다.

포인터 연산은 허용하지 않고 메모리주소를 직접 대입을 할 수 없음


var p *int

fmt.Println(p) 


결과: nil  // nil은 null과 같은 뜻 입니다.


빈포인터형 변수는 바로 사용 할수없으니 new함수로 메모리를 할당해야된다.


var p *int = new(int)

fmt.Println(p)


결과: 0x~~~~~~~ //메모리주소



var n int =1 

var p *int = &n

fmt.Println(*p)


결과: 1



func test(n *int) {

*n =2

}


func main() {

n := 1

test(&n)

fmt.Println(n)

}

결과: 2