Programming/golang
golang struct
구차니
2022. 4. 7. 12:27
구조체 선언은 type 키워드로 시작한다.
그나저나 {}와 ()의 규칙은 아직도 감이 잘 안오네..
type Vertex struct { X int Y int } func main() { fmt.Println(Vertex{1, 2}) } |
[링크 : https://go-tour-ko.appspot.com/moretypes/2]
구조체는 함수는 아니니까 () 대신 {}로 인자를 넘겨 변수를 생성하는 걸까?
v := Vertex{1, 2} v.X = 4 fmt.Println(v.X) |
[링크 : https://go-tour-ko.appspot.com/moretypes/3]
go도 전역변수를 지원하는 걸까?
c99에서 지원하는 구조체 변수명으로 지정 초기화 하는 기능이 기본으로 들어있는 듯.
type Vertex struct { X, Y int } var ( v1 = Vertex{1, 2} // has type Vertex v2 = Vertex{X: 1} // Y:0 is implicit v3 = Vertex{} // X:0 and Y:0 p = &Vertex{1, 2} // has type *Vertex ) func main() { fmt.Println(v1, p, v2, v3) } |
[링크 : https://go-tour-ko.appspot.com/moretypes/5]
타입선언하면서 바로 변수로 만들기도 가능.
func main() { q := []int{2, 3, 5, 7, 11, 13} fmt.Println(q) r := []bool{true, false, true, true, false, true} fmt.Println(r) s := []struct { i int b bool }{ {2, true}, {3, false}, {5, true}, {7, true}, {11, false}, {13, true}, } fmt.Println(s) } |