슬라이스
var s []int
var s []int = []int{1, 2, 3}
var s = make([]int, 3)
s[0]
s[0] = 10
package main
import (
"fmt"
)
func main() {
s:= []int{1, 2, 3, 4, 5}
fmt.Println(s)
fmt.Printf("%T \n", s)
s1 := make([]int, 10)
fmt.Println(s1)
fmt.Printf("%T \n", s1)
s1[0] = 1
fmt.Println(s1)
fmt.Println(s1[0])
}
append
var s []int = []int{1, 2, 3}
s[4] = 4
s = append(s , 4)
package main
import (
"fmt"
)
func main() {
s:= []int{1, 2, 3, 4, 5}
s[4] = 1
fmt.Println(s)
s[5] = 6
s = append(s, 7)
fmt.Println(s)
}
cap - 용량
var s []int = make([]int, 5, 10)
fmt.Println(len(s))
fmt.Println(cap(s))
fmt.Println(s)
append(s, 1)
fmt.Println(len(s))
fmt.Println(cap(s))
fmt.Println(s)
t := make([]int, 5)
fmt.Println(cap(t))
u := make(uint[], 10, 10)
append(u, 1)
fmt.Println(cap(u))
copy
sl1 := []int{1, 2, 3, 4, 5}
sl2 := make([]int, 5)
copy(sl2, sl1)
sl2[0] = 999
fmt.Println(sl1)
fmt.Println(sl2)
s1 := []int{1, 2, 3, 4, 5}
s2 := make([]int, 5)
copy(s2, s1)
fmt.Println(s2)
s1 := []int{1, 2, 3, 4, 5}
s2 := s1
fmt.Println(s2)
s1 := []int{1, 2, 3, 4, 5}
s2 := s1
s2[0] = 100
fmt.Println(s2)
s1 := []int{1, 2, 3, 4, 5}
s2 := make([]int, 5)
copy(s2, s1)
s2[0] = 100
fmt.Println(s1) [1 2 3 4 5]
fmt.Println(s2)
배열 슬라이싱
arr := [5]int{1 ,2, 3, 4, 5}
slice := arr [1:4]
fmt.Println(slice)
fmt.Println(reflect.TypeOf(arr))
fmt.Println(reflect.TypeOf(slice))
fmt.Printf("%T \n", arr)
fmt.Printf("%T \n", slice)
슬라이스 슬라이싱
slice1 := []int{1 ,2, 3, 4, 5}
slice2 := slice1[1:4]
slice3 := slice1[:4]
slice4 := slice1[1:3:5]
fmt.Println(slice1)
fmt.Println(slice2)
fmt.Println(slice3)
fmt.Println(slice4)
fmt.Println(cap(slice4))