Den`s blog

Map & Structure 본문

GoLang

Map & Structure

shinYeongHyeon 2021. 1. 31. 01:45
반응형

Go 에서는 타 언어에서 주로 사용하던 Class 와 Object 가 없다.
그래서 이제 알아야 할 Structure 가 중요한데, 그 전에 Map 에 대해서도 알아보자.

Map

기본적으로 key - value 의 형태를 가지고 있고, key 와 value 도 타입이 필요하다.

den := map[string]string{"name: "den", "age": "31"}

위의 예제처럼 대괄호 [] 안에 key에 대한 타입을 명시해주고, 그 뒤에 value에 대한 타입도 지정해준다.
그러면 사실 나이는 int 형이어야 하고, 실질적으로는 유동적으로 여러 타입이 가진게 유용할텐데, 그런 것들은 어떻게 해야할까?

Structure

위의 문제를 해결해줄 수 있는 것이 Structure 이다.
코드로 살펴보자

type person struct {
  name string
  age int
  favFood []string
}

favFood := []string{"sujebi", "spicy"}
den := person{
  "den"
  31,
  favFood,
}

for key, value := range den {
  fmt.Println(key, value)
}

den2 := person{
  name: "den2",
  age: 31,
  favFood: favFood,
}

fmt.Println(den2)

Structure 안에 여러 타입을 지정해서 마치 오브젝트 처럼 사용해줄 수 있다,

 

또한, 위에 변수를 지정해준 방식처럼 2가지 방식으로 가능한데,

1. 하나는 value만 쓰는 것
2. 다른 하나는 key 와 value 를 모두 쓰는 것,

개인적으로는 2번의 방법을 더 좋아한다.
굳이 위의 선언문을 보지 않아도, 명시직이기때문이다.

728x90
반응형

'GoLang' 카테고리의 다른 글

Channel  (0) 2021.01.31
Method & Pointer  (0) 2021.01.31
Array / Slice  (0) 2021.01.31
For, If, Switch Statement  (0) 2021.01.31
Defer  (0) 2021.01.31
Comments