[go] 구조체(struct)의 중첩 구조 구현
구조체(struct)는 데이터를 그룹화하고 새로운 데이터 타입을 만드는 데 사용하는 Go 언어의 기능입니다. 이론적으로 구조체 안에 다른 구조체를 중첩시킬 수 있습니다. 중첩 구조체를 사용하면 복잡한 데이터 구조를 표현하고 조작할 때 편리합니다.
다음은 예시 코드로, 중첩 구조체를 구현하는 방법을 보여줍니다.
package main
import "fmt"
type Address struct {
City string
State string
}
type Person struct {
Name string
Age int
Address Address
}
func main() {
p := Person{
Name: "John Doe",
Age: 25,
Address: Address{
City: "Seoul",
State: "Gangnam",
},
}
fmt.Println("Name:", p.Name)
fmt.Println("Age:", p.Age)
fmt.Println("City:", p.Address.City)
fmt.Println("State:", p.Address.State)
}
위 코드에서는 Address
와 Person
이라는 두 개의 구조체를 정의합니다. Person
구조체는 Name
, Age
, Address
필드로 구성되어 있습니다. Address
구조체는 City
와 State
필드로 구성되어 있습니다.
main
함수에서는 p
변수를 생성하고, Person
구조체의 값을 초기화합니다. Address
구조체의 값을 초기화하기 위해 중괄호를 한 번 더 사용합니다.
마지막으로, fmt.Println
함수를 사용하여 Person
구조체의 필드 값을 출력합니다. 중첩된 구조체인 Address
의 필드도 마찬가지로 접근하여 출력할 수 있습니다.
위 예시 코드를 실행해보면 다음과 같은 결과를 볼 수 있습니다:
Name: John Doe
Age: 25
City: Seoul
State: Gangnam
이처럼 구조체의 중첩 구조를 활용하면 복잡한 데이터 구조를 표현하고 다루는 데 편리합니다. 중첩 구조체를 사용하여 자신만의 데이터 구조를 정의해보세요.