[Go 언어] 초보자 필견 시리즈 1 : 배열과 슬라이스
배열(Arrays)
배열은 연속적인 메모리 영역을 확보하는 데이터 구조입니다.
정의 방법
방법 1
구문:
var 配列名 [サイズ]型
예:
var a [2]string
방법 2
구문:
var 配列名 [サイズ]型
= [サイズ]型{初期値1, ..., 初期値n}
예:
var a [2]string
= [2]string{"Hello", "Go"}
NOTE: 선언과 동시에 대입한다.
방법 3
구문:
配列名 := [サイズ]型{初期値1, ..., 初期値n}
예:
a := [2]string{"Hello", "Go"}
NOTE: 선언과 동시에 대입한다면, 방법 2보다 이쪽이 간결하고 추천.
방법 4
구문:
配列名 := [...]型{初期値1, ..., 初期値n}
예:
a := [...]string{"Hello", "Go"}
참고 : 배열의 크기를 "..."로 설정하면 컴파일러가 자동으로 요소 수를 계산합니다.
다차원 배열(Multiple Dimension)
다차원 배열 (Multiple Dimension)은
[]의 수를 늘리면 1차원 배열과 같이 정의할 수 있다.
예:
a := [][]string{
{"Hello", "Go"},
{"Hello", "Python"},
}
요소 스캔(iteration)
방법 1 : len 함수를 이용하여 배열의 크기를 얻습니다.
for i := 0; i < len(array); i++ {
fmt.Println(array[i])
}
방법 2 : 범위를 사용하여 배열을 스캔.
for index, value := range array{
fmt.Println(index, value)
}
요약
var 配列名 [サイズ]型
var a [2]string
var 配列名 [サイズ]型
= [サイズ]型{初期値1, ..., 初期値n}
var a [2]string
= [2]string{"Hello", "Go"}
配列名 := [サイズ]型{初期値1, ..., 初期値n}
a := [2]string{"Hello", "Go"}
配列名 := [...]型{初期値1, ..., 初期値n}
a := [...]string{"Hello", "Go"}
a := [][]string{
{"Hello", "Go"},
{"Hello", "Python"},
}
for i := 0; i < len(array); i++ {
fmt.Println(array[i])
}
for index, value := range array{
fmt.Println(index, value)
}
미리 데이터 사이즈의 확정하지 않는 데이터에는 적합하지 않습니다.
여러가지 형태를 혼재시키고 싶은 경우는
interface
형태로 초기화합니다. array := []interface{}{“hello", 10, 2.5}
슬라이스(Slices)
슬라이스는 가변 길이의 배열과 같은 움직임을하는 데이터 구조입니다.
정의 방법
정의 방법은 배열과 비슷하며 크기를 지정하지 않고 선언합니다.
방법 1
구문:
var 名前 []型
예:
var a []string
방법 2
구문:
var 名前 []型 = []型{初期値1, ..., 初期値n}
예:
var a []string = []string{"Hello", "Go"}
방법 3
구문:
名前 := []型{初期値1, ..., 初期値n}
예:
a := []string{"Hello", "Go"}
방법 4
구문:
名前 := make([]型, 初期長さ ,初期容量)
예:
a := make([]string, 2, 10)
방법 4는 배열에없는 선언 방법.
초기 용량은 옵션 인수.
슬라이스 구성
슬라이스는 배열에 대한 참조와 같습니다.
요소 스캔(iteration)
스캔 방법은 배열과 유사합니다.
요소 추가(append)
슬라이스에 새 요소를 추가하려면 Go 내장 append 함수를 사용합니다.
요소 추가시의 움직임은, 이쪽의 동영상 를 알기 쉽게 보실 수 있으면(자) 생각합니다.
동영상(YouTube)
이 기사를 동영상으로보고 싶다면 여기에서 부탁드립니다.
전 기사
Reference
이 문제에 관하여([Go 언어] 초보자 필견 시리즈 1 : 배열과 슬라이스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wifecooky/items/ae832eb3f691d934dbe5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var 名前 []型
var a []string
var 名前 []型 = []型{初期値1, ..., 初期値n}
var a []string = []string{"Hello", "Go"}
名前 := []型{初期値1, ..., 初期値n}
a := []string{"Hello", "Go"}
名前 := make([]型, 初期長さ ,初期容量)
a := make([]string, 2, 10)
이 기사를 동영상으로보고 싶다면 여기에서 부탁드립니다.
전 기사
Reference
이 문제에 관하여([Go 언어] 초보자 필견 시리즈 1 : 배열과 슬라이스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wifecooky/items/ae832eb3f691d934dbe5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Go 언어] 초보자 필견 시리즈 1 : 배열과 슬라이스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wifecooky/items/ae832eb3f691d934dbe5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)