Programming/golang2022. 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)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/9]

'Programming > golang' 카테고리의 다른 글

golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang pointer  (0) 2022.04.07
golang switch는 break 가 없다 (fallthough)  (0) 2022.04.07
golang for 반복문  (0) 2022.04.07
Posted by 구차니