Golangピット-Sliceを関数パラメータとして渡す
1029 ワード
Golangピットが多すぎるのではなく、自分のレベルが足りないのです!--9命の怪猫
SliceはC/C++に対応して類似のポインタの存在である.Golangでは、Sliceが使いやすく、柔軟です.しかし、すべての「柔軟」は、コンピュータの世界でも「多くの穴」を意味する.
例を見てみましょう
SliceはC/C++に対応して類似のポインタの存在である.Golangでは、Sliceが使いやすく、柔軟です.しかし、すべての「柔軟」は、コンピュータの世界でも「多くの穴」を意味する.
例を見てみましょう
package main
import "fmt"
func Add2Slice(s []int, t int) {
s[0]++
s = append(s, t)
s[0]++
}
func main() {
a := []int{0, 1, 2, 3}
Add2Slice(a, 4)
fmt.Println(a)
}
// ...
{1, 1, 2, 3}
?! ?!
slice 。 ,append , 。
append , ( 1000), 1000, 1.25 。
package main
import "fmt"
func Add2Slice(s *[]int, t int) {
//*s[0]++ /* ! */
*s = append(*s, t)
//s[0]++
}
func main() {
a := []int{0, 1, 2, 3}
Add2Slice(&a, 4)
fmt.Println(a)
}
//
{0, 1, 2, 3, 4}