[go] go 언어의 구조체

Go 언어는 구조체(Struct)라는 데이터 타입을 제공하여 여러 필드를 묶어 하나의 새로운 데이터 타입을 정의할 수 있습니다.

구조체의 선언 및 사용

구조체는 type 키워드와 함께 선언됩니다. 아래는 구조체를 선언하고, 초기화하고, 필드에 접근하는 예시입니다.

type Person struct {
    name string
    age  int
}

func main() {
    // 구조체 초기화
    var p Person
    p.name = "Alice"
    p.age = 30

    // 필드에 접근
    fmt.Println("이름:", p.name, "나이:", p.age)
}

구조체의 중첩

구조체 안에 다른 구조체를 필드로 포함시킬 수도 있습니다.

type Address struct {
    city  string
    state string
}

type Person struct {
    name    string
    age     int
    address Address
}

func main() {
    // 중첩된 구조체 초기화
    var p Person
    p.name = "Bob"
    p.age = 25
    p.address = Address{city: "Seoul", state: "Seoul"}

    // 중첩된 필드에 접근
    fmt.Println("이름:", p.name, "나이:", p.age, "도시:", p.address.city, "도: ", p.address.state)
}

구조체는 Go 언어의 강력한 특징 중 하나이며, 코드의 가독성과 유지보수성을 높이는데 큰 도움을 줍니다.

더 많은 정보는 Go언어 공식 문서를 참조하세요.