[go] 구조체(struct)를 슬라이스(slice)와 함께 사용하는 방법

Go 언어에서는 구조체와 슬라이스를 조합하여 유연하고 효과적인 데이터 구조를 만들 수 있습니다. 구조체는 필드(field)의 집합이며, 슬라이스는 동적으로 크기가 조정될 수 있는 배열입니다. 이러한 두 가지 개념을 함께 사용하여 더 복잡한 데이터 구조를 구현할 수 있습니다.

구조체 정의하기

먼저 구조체를 정의해야 합니다. 구조체는 type 키워드를 사용하여 정의할 수 있습니다. 각 필드는 이름과 타입으로 구성됩니다.

type Person struct {
    Name string
    Age  int
}

위의 예제에서는 Person이라는 구조체를 정의하고 있습니다. 이 구조체는 NameAge라는 두 개의 필드를 가지고 있습니다. Name은 문자열 타입이고, Age는 정수 타입입니다.

슬라이스와 구조체 함께 사용하기

이제 구조체를 슬라이스와 함께 사용하는 방법을 알아보겠습니다. 슬라이스를 구조체 타입으로 선언하고 해당 타입의 값을 할당하는 것으로 구조체를 슬라이스와 함께 사용할 수 있습니다.

func main() {
    var people []Person

    people = append(people, Person{Name: "John", Age: 25})
    people = append(people, Person{Name: "Jane", Age: 30})

    fmt.Println(people)
}

위의 예제에서는 people이라는 이름의 슬라이스를 정의하고 있습니다. 이 슬라이스는 Person 타입을 요소로 가집니다. 그런 다음 append 함수를 사용하여 두 개의 Person 구조체를 슬라이스에 추가합니다. 마지막으로 fmt.Println 함수를 사용하여 슬라이스를 출력합니다.

이렇게 구조체를 슬라이스와 함께 사용하면 한 번에 여러 개의 구조체를 관리하고, 추가, 제거, 수정할 수 있습니다. 이는 데이터를 보다 효율적으로 관리하고 조작할 수 있는 방법을 제공합니다.

결론

Go 언어에서 구조체와 슬라이스를 함께 사용하여 유연하고 효과적인 데이터 구조를 만들 수 있습니다. 슬라이스를 구조체 타입으로 선언하고 해당 타입의 값으로 구조체를 추가, 제거, 수정할 수 있습니다. 이는 Go 언어의 강력한 기능 중 하나이며, 큰 규모의 프로그램에서 유용하게 활용될 수 있습니다.

참고 자료