일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- go
- :=
- golang
- reactjs
- 번역
- 도커컨테이너
- nestjs
- IAC
- docker
- react
- testing
- svelte
- ...$$restProps
- JavaScript
- GIT
- PostgreSQL
- Svelte LifeCycle
- cron
- githook
- 인라인핸들러
- docker-network
- Terraform
- apiTest
- bitwiseNot
- mock
- smui
- GraphQL
- 도커
- onDestory
- TypeScript
Archives
- Today
- Total
Den`s blog
Map & Structure 본문
반응형
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