[go] 구조체 값 변경하기

Go 언어에서 구조체의 필드 값을 변경하는 방법은 간단합니다. 구조체의 필드 값을 직접적으로 변경하거나 포인터를 사용하여 간접적으로 변경할 수 있습니다.

직접적인 값 변경

구조체의 필드 값을 직접적으로 변경하기 위해서는 다음과 같이 점 표기법(dot notation)을 사용합니다.

package main

import "fmt"

type Person struct {
    Name string
    Age  int
}

func main() {
    person := Person{Name: "Alice", Age: 25}
    person.Age = 26
    fmt.Println(person)
}

위 예제에서 person.Age를 통해 직접적으로 구조체의 Age 필드 값을 변경하고 있습니다.

간접적인 값 변경

구조체의 필드 값을 간접적으로 변경하기 위해서는 포인터를 사용하여 해당 필드를 변경할 수 있습니다.

package main

import "fmt"

type Person struct {
    Name string
    Age  int
}

func main() {
    person := &Person{Name: "Bob", Age: 30}
    (*person).Age = 31
    fmt.Println(*person)
}

위 예제에서 (*person).Age를 통해 구조체의 Age 필드를 간접적으로 변경하고 있습니다.

결론

Go 언어에서는 구조체의 필드 값을 간단하게 변경할 수 있습니다. 필요에 따라 직접적인 방법 또는 포인터를 이용한 간접적인 방법을 선택하여 사용할 수 있습니다.

Reference:
Go 언어 공식 문서