Array๋ ๊ณ ์ ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
๋ฐ๋ฉด์ Slice๋ Array์ ์์๋ค์ ๋์ ์ธ ํฌ๊ธฐ๋ก ์ ์ฐํ๊ฒ ๋ณผ ์ ์๋ค.
์ค์ ๋ก Slice๋ Array๋ณด๋ค ํจ์ฌ ํํ๋ค.
[]T ํ์ ์ T ํ์ ์ ์์๋ก ๊ฐ์ง๋ Slice์ด๋ค.
Slice๋ ์ฝ๋ก (:)์ผ๋ก ๊ตฌ๋ถ๋ ๋ ๊ฐ์ index(ํํ๊ณผ ์ํ)๋ฅผ ์ง์ ํ์ฌ ํ์ฑ๋๋ค.
a[low : high]
์ด๊ฒ์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ํฌํจํ์ง๋ง ๋ง์ง๋ง ์์๋ฅผ ์ ์ธํ๋ ๋ฒ์๋ฅผ ์ ํํ๋ค.
์๋ ํํ์ a์ ์ฒซ๋ฒ์งธ๋ถํฐ ์ธ๋ฒ์งธ ์์๋ฅผ ํฌํจํ๋ ์ฌ๋ผ์ด์ค๋ฅผ ์์ฑํ๋ค.
a[1:4]
์์
package main
import "fmt"
func main() {
primes := [6]int{2, 3, 5, 7, 11, 13}
var s []int = primes[1:4]
fmt.Println(s)
}
๋ํ Slice๋ ์ด๋ค ๋ฐ์ดํฐ๋ ์ ์ฅํ ์ ์๋ค. ์ด๊ฒ์ ๋จ์ง ๊ธฐ๋ณธ Array์ ํ ์์ญ์ ๋ํ๋ผ ๋ฟ์ด๋ค.
Slice์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๊ธฐ๋ณธ Array์ ํด๋น ์์๊ฐ ์์ ๋๋ค.
๋์ผํ ๊ธฐ๋ณธ Array์ ๊ณต์ ํ๋ ๋ค๋ฅธ Slice๋ ์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ ๋ณผ ์ ์๋ค.
์์
package main
import "fmt"
func main() {
names := [4]string{
"John",
"Paul",
"George",
"Ringo",
}
fmt.Println(names)
a := names[0:2]
b := names[1:3]
fmt.Println(a, b)
b[0] = "XXX"
fmt.Println(a, b)
fmt.Println(names)
}
[์ฐธ๊ณ ์ฌ์ดํธ - a Tour of Go]
'Data Base > Go' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฝ๊ณ ๋น ๋ฅธ Go ์์ํ๊ธฐ] #2.1 Methods part One (0) | 2021.11.02 |
---|---|
[์ฝ๊ณ ๋น ๋ฅธ Go ์์ํ๊ธฐ] #2.0 Account + NewAccount (0) | 2021.11.02 |
[Golang] defer (0) | 2021.11.01 |
[Golang] Switch (0) | 2021.11.01 |
[Golang] if๋ฌธ (0) | 2021.11.01 |
๋๊ธ