変更方法: 1. append() 関数を使用して新しい値を追加します (構文 "append(slice, value list)"; 2. append() 関数を使用して要素を削除します (構文 "append) (a[:i]" , a[i N:]...)"; 3. インデックスに従って値を直接再割り当てします。構文は「スライス名 [インデックス] = 新しい値」です。

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go 言語でスライスを追加、削除、変更、クエリする
package main
import "fmt"
func main() {
a := []int{}
a = append(a, 1)
a = append(a, 2)
a = append(a, 3, 4, 5) //添加多个元素
fmt.Printf("a: %v\n", a)
fmt.Println("---------------------")
a1 := []int{3, 4, 5}
a2 := []int{1, 2}
a2 = append(a2, a1...) //添加另外一个切片进去
fmt.Printf("a2: %v\n", a2)
}
//输出结果如下
a: [1 2 3 4 5]
---------------------
a2: [1 2 3 4 5]
package main
import "fmt"
func main() {
var s1 = []int{1, 2, 3, 4}
fmt.Println("---删除之前---")
fmt.Printf("s1: %v\n", s1)
//删除3这个元素,它的下标索引为2
s1 = append(s1[:2], s1[3:]...)
fmt.Println("---删除之后---")
fmt.Printf("s1: %v\n", s1)
}
//执行结果如下
---删除之前---
s1: [1 2 3 4]
---删除之后---
s1: [1 2 4]要素を削除する式:
スライスaからインデックスindexを持つ要素を削除するには、操作方法は次のとおりです。
a = append(a[:index], a[index+1:]...)
package main
import "fmt"
func main() {
var s1 = []int{1, 2, 3, 4, 5}
s1[1] = 100 //索引1的值改为100
fmt.Printf("s1: %v\n", s1)
}
//输出结果如下
s1: [1 100 3 4 5]package main
import "fmt"
func main() {
var s1 = []int{1, 2, 3, 4, 5}
var key = 2 //查找2所在的位置
for i, v := range s1 {
if v == key {
fmt.Printf("s1: %v\n", s1)
fmt.Printf("索引为: %v\n", i)
}
}
}
//输出结果如下
s1: [1 2 3 4 5]
索引为: 1package main
import "fmt"
func main() {
var s1 = []int{1, 2, 3, 4, 5}
var s2 = s1
s2[0] = 100
fmt.Printf("s1: %v\n", s1)
fmt.Printf("s2: %v\n", s2)
}
//输出结果如下
s1: [100 2 3 4 5]
s2: [100 2 3 4 5]package main
import "fmt"
func main() {
var s1 = []int{1, 2, 3, 4, 5}
var s2 = make([]int, 4) //需要make一个切片的类型,指定有5个元素
copy(s2, s1) //指定复制的切片
s2[0] = 100
fmt.Printf("s1: %v\n", s1)
fmt.Printf("s2: %v\n", s2)
}
//输出结果
s1: [1 2 3 4 5]
s2: [100 2 3 4 5]以上がgolangでスライスの値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。