ホームページ  >  記事  >  バックエンド開発  >  Go言語でスライス内の要素を追加および削除する方法

Go言語でスライス内の要素を追加および削除する方法

青灯夜游
青灯夜游オリジナル
2023-01-18 17:23:142075ブラウズ

Append() を Go 言語で使用すると、スライスに要素を動的に追加および削除できます。要素構文「slice = append(slice,elem1,elem2)」を追加しました。要素の削除は 2 つのタイプに分類できます: 1. インデックスにある要素の削除、構文 "slice=append(slice[:i],slice[i 1:]...)"; 2. 指定されたインデックス間の要素の削除、構文構文「スライス=追加(スライス[:i],スライス[i2:]...)」。

Go言語でスライス内の要素を追加および削除する方法

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

要素をスライスに追加する

Go 言語では、append() を使用して要素をスライスに動的に追加できます。

slice = append(slice,elem1,elem2)
  • append角括弧内では、最初のパラメータ スライスの後に複数のパラメータを追加できます。

package  main
import "fmt"
//切片进阶操作
 
func main(){
	//append()为切片追加元素
	s1 := []string {"火鸡面","辛拉面","汤达人"}
	fmt.Printf("s1=%v len(s1)=%d cap(s1)=%d\n",s1,len(s1),cap(s1))
	
	//调用append函数必须用原来的切片变量接收返回值
	s1 = append(s1,"小当家") //append追加元素,原来的底层数组装不下的时候,Go就会创建新的底层数组来保存这个切片
  fmt.Printf("s1=%v len(s1)=%d cap(s1)=%d\n",s1,len(s1),cap(s1))//cap增加两倍
}

Go言語でスライス内の要素を追加および削除する方法

スライスすると要素が削除されます

Go 言語のスライスでは要素も削除されますappend 関数を使用してこれを間接的に実現できます。

#インデックスインデックスの要素を削除します

slice = append(slice[:index], slice[index+1:]...)

##パラメータ#slice#index#インデックスインデックスからインデックス2まで要素を削除します##
slice = append(slice[:index], slice[index2:]...)
説明
削除する要素のスライス。
削除するインデックス。

##パラメータ
説明

削除する要素のスライス。 削除する終了インデックス。 #例 1: append 関数を使用して、スライス インデックス 1 の要素を削除します
package main
import (
	"fmt"
)
func main() {
	//使用append函数,实现删除切片 index 处的元素
	var slice = []string{"aa", "bb", "cc", "dd", "ee", "ff"}
	fmt.Println("slice =", slice)
	slice = append(slice[:1], slice[3:]...)
	fmt.Println("slice =", slice)
}
slice
#index 削除する開始インデックス。
#index2
package main
import (
	"fmt"
)
func main() {
	//使用append函数,实现删除切片 index 处的元素
	var slice = []string{"aa", "bb", "cc"}
	fmt.Println("slice =", slice)
	slice = append(slice[:1], slice[2:]...)
	fmt.Println("slice =", slice)
}
例 2: 次を使用します。 append 関数は、スライス インデックス 1 からインデックス 3 までの要素の削除を実装します

[関連する推奨事項:

Go ビデオ チュートリアル

Go言語でスライス内の要素を追加および削除する方法プログラミング教育

]

以上がGo言語でスライス内の要素を追加および削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。