4.3 구조체
구조체(Struct)는 각자의 속성을 가진 실세계의 엔티티를 표현한 것이다. 이름과 타입을 가진 필드(field)로 여러 속성을 표현할 수 있다.
구조체는 다음과 같이 정의한다.
type 타입명 struct { 필드명1 필드타입1 필드명2 필드타입2 ... }
내장 데이터 타입뿐만 아니라 인터페이스나 함수 서명 같은 사용자 정의 타입도 필드로 지정할 수 있고, 다른 구조체도 내부 필드로 지정할 수 있다.
타입이 같은 필드는 다음과 같이 한꺼번에 묶어서 타입을 지정할 수 있다.
type 타입명 struct { 필드명1, 필드명2 필드타입 필드명3 필드타입 ... }
모든 필드의 타입이 같을 때는 type 타입명 struct { 필드명1, 필드명2 필드타입 }처럼 한 줄로 표현할 수도 있다.