🔥 구조체 (Struct)
255자
3분
Go 언어에서 구조체(Struct)는 관련된 데이터를 하나로 묶어 표현할 수 있는 매우 유용한 도구예요. 구조체를 사용하면 프로그램에서 다루는 데이터를 의미 있는 단위로 그룹화할 수 있답니다.
예를 들어, 2차원 좌표 평면 상의 한 점을 나타내고 싶다고 해 볼게요. 이 경우 X와 Y 좌표값을 하나로 묶어 Point
구조체로 정의할 수 있겠죠.
type Point struct { X int Y int }
go
위 코드에서는 Point
구조체를 정의하고 있어요. Point
구조체는 X
와 Y
라는 두 개의 필드(Field)를 가지고 있는데, 각각 정수형(int) 값을 저장합니다. 이렇게 구조체를 정의하면 Point
타입의 변수를 선언하고 사용할 수 있게 되죠.
이제 Point
구조체를 사용하는 예제 코드를 살펴볼까요?
package main import "fmt" type Point struct { X int Y int } func main() { // Point 구조체를 사용하여 변수 p1 선언 및 초기화 p1 := Point{1, 2} // p1의 X, Y 값 출력 fmt.Println(p1.X, p1.Y) // 1 2 // 구조체 필드 값 변경 p1.X = 10 p1.Y = 20 // 변경된 p1의 X, Y 값 출력 fmt.Println(p1.X, p1.Y) // 10 20 }
go
위 예제 코드를 하나씩 살펴보면:
Point
구조체를 사용하여p1
변수를 선언하고 초기화하고 있어요.{1, 2}
는 구조체 리터럴(Literal)로, 구조체의 필드 값을 순서대로 지정합니다.fmt.Println(p1.X, p1.Y)
를 통해p1
의X
와Y
필드 값을 출력하고 있죠. 결과는1 2
가 됩니다.p1.X = 10
과p1.Y = 20
을 통해p1
의X
와Y
필드 값을 변경하고 있어요.- 변경된
p1
의X
와Y
필드 값을 다시 출력하면10 20
이 출력되는 걸 확인할 수 있답니다.
이처럼 구조체를 사용하면 관련된 데이터를 하나의 타입으로 묶어 표현할 수 있어요. 구조체는 Go 언어에서 매우 중요한 개념 중 하나이므로, 꼭 숙지하시길 바랍니다!