일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Terraform
- PostgreSQL
- 도커
- testing
- GIT
- docker-network
- reactjs
- go
- nestjs
- smui
- JavaScript
- cron
- react
- golang
- onDestory
- mock
- Svelte LifeCycle
- IAC
- GraphQL
- bitwiseNot
- svelte
- TypeScript
- 인라인핸들러
- :=
- 도커컨테이너
- apiTest
- githook
- docker
- 번역
- ...$$restProps
Archives
- Today
- Total
Den`s blog
Array / Slice 본문
반응형
Array
Go 에서 Array 는 그 크기를 제한해주어야 한다. 또한, 그 타입도 지정해야 하며, 그 안에 값들을 세팅하는 것도 나로서는 좀 색달랐다.
names := [5]string{"shin", "yeong", "hyeon"} // Define
names[3] = "den"
names[4] = "den-shin"
첫 번째 라인과 같이 대괄호 안에 Array 의 크기를 넣어주고 대괄호 뒤에 타입을 지정해준다.
그리고 값들을 중괄호 안에 넣어서 정의 해준다.
그 후에 추가하는 것들은 그 아래 라인들과 같이 진행해주고, 만약
names[5] = "anything" 을 해준다면 컴파일 에러가 난다.
그런데, 크기 지정은 사실 실무에서 그렇게 사용하지 않는다,
크기가 없는 Array 는 어떻게 지정할까 ?
Slice
크기가 없는 Array 는 Slice 라 불리운다.
names := []string{"shin", "yeong", "hyeon"} // Define
names = append(names, "den")
선언부는 거의 똑같다, 크기 지정만 빼면.
그리고 추가하는 부분이 다른데, append 라는 함수를 이용해주어야 하며, 해당 함수는 인자로 넘긴 첫번째 Slice - 예제에서의 names - 를 변화시키는게 아니라, 값을 추가해서 Return 해준다.
이와 같은 형태는 개발을 하다보면 실질적으로 도움이 된다.
원래 값을 변화시키지 않고, 리턴하는 것이 디버깅에도 조금 더 효율적이니까,
728x90
반응형
'GoLang' 카테고리의 다른 글
Method & Pointer (0) | 2021.01.31 |
---|---|
Map & Structure (0) | 2021.01.31 |
For, If, Switch Statement (0) | 2021.01.31 |
Defer (0) | 2021.01.31 |
Functions (0) | 2021.01.31 |
Comments