[go] Go 언어의 구조체

Go 언어는 구조체(Struct)라는 데이터 타입을 제공합니다. 구조체는 서로 다른 데이터 타입을 묶어서 하나의 새로운 데이터 타입을 정의할 수 있는데, 이를 통해 복합적인 데이터를 표현할 수 있습니다.

구조체 정의하기

구조체를 정의하려면 type 키워드와 함께 다음과 같은 구문을 사용합니다.

type 구조체이름 struct {
    필드1 타입1
    필드2 타입2
    //...
}

예를 들어, 사람의 정보를 담는 구조체를 정의해보겠습니다.

type Person struct {
    Name string
    Age  int
    City string
}

위의 예제에서 Person은 구조체의 이름이며, Name, Age, City는 해당 구조체의 필드 이름이고 각각의 타입은 string, int, string입니다.

구조체 인스턴스 만들기

구조체를 사용하여 인스턴스를 만들고, 필드에 값을 할당할 수 있습니다.

func main() {
    var person1 Person
    person1.Name = "Alice"
    person1.Age = 25
    person1.City = "New York"

    fmt.Println(person1)
}

구조체 초기화

구조체를 초기화할 때 필드의 값을 지정하여 바로 인스턴스를 생성할 수 있습니다.

func main() {
    person2 := Person{Name: "Bob", Age: 30, City: "San Francisco"}
    fmt.Println(person2)
}

구조체 포인터

구조체의 인스턴스를 가리키는 포인터를 사용할 수도 있습니다.

func main() {
    var personPtr *Person
    personPtr = &person1

    fmt.Println(personPtr.Name)
}

구조체는 Go 언어에서 복합 데이터를 다루는 강력한 도구로 활용될 수 있습니다.

이상으로 Go 언어의 구조체에 대한 간략한 소개를 마치겠습니다.

더 자세한 정보는 Go 언어 공식 문서를 참고하시기 바랍니다.