포인터 변수 선언하기
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 61번째.
Go에서 포인터를 선언하는 방법은 크게 두 가지가 있습니다: var를 포인터 타입과 함께 사용하거나, :=와 함께 주소 연산자를 사용하는 것입니다.
포인터 타입을 가진 var를 사용하여 포인터를 선언합니다:
func main() {
var x int = 42
var ptr *int // 정수에 대한 포인터를 선언합니다
ptr = &x // x의 주소를 ptr에 할당합니다
fmt.Println("Value of x:", x)
fmt.Println("Value of ptr:", ptr)
fmt.Println("Value at ptr:", *ptr)
}출력 결과는 포인터가 x의 주소를 저장하고 있음을 보여줍니다:
Value of x: 42
Value of ptr: 0xc000018030
Value at ptr: 42또한 :=를 사용하여 한 줄로 포인터를 선언하고 초기화할 수 있습니다:
y := 100
ptr := &y // 한 단계로 포인터를 선언하고 초기화합니다챌린지
초급이 챌린지에서는 Go에서 포인터를 선언하고 사용하는 연습을 합니다. 포인터가 이미 설정되어 있으며, 여러분의 작업은 동일한 값을 가리키는 새 포인터를 만드는 것입니다.
코드의 TODO를 완료하여 기존 포인터와 동일한 메모리 주소를 가리키는 'secondPointer'라는 이름의 새 포인터 변수를 선언하세요.
치트 시트
Go에서, 포인터 타입을 사용하는 var를 이용하거나 주소 연산자와 함께 :=를 사용하여 포인터를 선언할 수 있습니다.
var를 사용하여 포인터 선언하기:
var x int = 42
var ptr *int // 정수형 포인터 선언
ptr = &x // x의 주소를 ptr에 할당:=를 사용하여 한 줄에서 포인터를 선언하고 초기화하기:
y := 100
ptr := &y // 한 단계로 포인터 선언 및 초기화포인터 값에 접근하기:
ptr- 메모리 주소*ptr- 해당 주소의 값
직접 해보기
package main
import "fmt"
func main() {
// 여기에 변수와 그 변수를 가리키는 포인터가 있습니다
originalValue := 42
pointerToValue := &originalValue
// TODO: 'pointerToValue'와 동일한 메모리 주소를 가리키는
// 'secondPointer'라는 이름의 새로운 포인터 변수를 선언하세요
// 아래 코드는 수정하지 마세요
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
// 원본 값을 변경하고 모든 포인터에 변경 사항이 반영되는지 확인해 봅시다
originalValue = 100
fmt.Printf("\nAfter changing original value to 100:\n")
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입