[go] 구조체(struct)를 활용한 데이터 구조 설계 방법

구조체(struct)는 Go 프로그래밍 언어에서 데이터의 각각의 속성을 묶어서 하나의 객체로 표현하는데 사용되는 데이터 타입입니다. 구조체는 여러 개의 변수를 하나로 묶어서 사용하므로 데이터 구조를 설계할 때 유용하게 활용될 수 있습니다. 이 글에서는 구조체를 활용하여 데이터 구조를 설계하는 방법에 대해 알아보겠습니다.

구조체 선언하기

구조체는 type 키워드를 사용하여 선언할 수 있습니다. 다음은 사용자의 정보를 담을 구조체 예시입니다.

type User struct {
    Name  string
    Email string
    Age   int
}

위 예시에서 User라는 이름의 구조체를 선언하였습니다. 해당 구조체는 세 개의 속성을 가지고 있으며, 각각은 Name, Email, Age로 정의되어 있습니다.

구조체 객체 생성하기

구조체를 사용하기 위해선 해당 구조체의 객체를 생성해야 합니다. 다음은 User 구조체를 사용하여 객체를 생성하는 예시입니다.

user := User{
    Name:  "John Doe",
    Email: "johndoe@gmail.com",
    Age:   30,
}

위 예시에서 user라는 이름의 User 구조체 객체를 생성하였습니다. 객체를 생성할 때 중괄호 안에 각 속성에 대한 값을 할당해야 합니다.

구조체에 접근하기

구조체는 점(.) 연산자를 사용하여 객체의 속성에 접근할 수 있습니다. 다음은 구조체 객체의 속성에 접근하는 예시입니다.

fmt.Println(user.Name)  // "John Doe" 출력
fmt.Println(user.Email) // "johndoe@gmail.com" 출력
fmt.Println(user.Age)   // 30 출력

위 예시에서는 user 구조체의 각 속성에 접근하여 값을 출력하였습니다.

구조체 포함하기

구조체는 다른 구조체를 포함할 수도 있습니다. 이를 통해 복잡한 데이터 구조를 설계할 수 있습니다. 다음은 Address 구조체를 포함하는 User 구조체의 예시입니다.

type Address struct {
    City    string
    Country string
}

type User struct {
    Name    string
    Email   string
    Age     int
    Address Address
}

위 예시에서 User 구조체는 Address 구조체를 포함하고 있습니다. 이를 통해 사용자의 주소 정보를 추가로 포함할 수 있습니다.

이러한 방식으로 구조체를 활용하여 데이터 구조를 설계할 수 있습니다. 구조체를 적절히 활용하여 객체지향적인 방식으로 데이터를 조직화하고 관리할 수 있습니다.

참고문서: Go lang - Struct Types