ホームページ  >  記事  >  バックエンド開発  >  Go言語でスライスを削除する方法

Go言語でスライスを削除する方法

藏色散人
藏色散人オリジナル
2020-12-30 17:50:143746ブラウズ

go languageスライスを削除する方法: 最初に go サンプル ファイルを作成し、次に変数を宣言し、最後に「ss=append(ss[:index],ss[index 1:])」を渡します。 ..)print("after delete",ss)" を使用してスライス要素を削除できます。

Go言語でスライスを削除する方法

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

1. 変数を宣言し、自動的に nil に初期化します、長さ: 0、アドレス: 0、nil

func main(){
    var ss []string;
    fmt.Printf("length:%v \taddr:%p \tisnil:%v",len(ss),ss, ss==nil)    
}
 
---
Running...
 
length:0     addr:0x0     isnil:true
Success: process exited with code 0.

2. スライスの追加、削除、挿入操作

func main(){
    var ss []string;
    fmt.Printf("[ local print ]\t:\t length:%v\taddr:%p\tisnil:%v\n",len(ss),ss, ss==nil)    
    print("func print",ss)
    //切片尾部追加元素append elemnt
    for i:=0;i<10;i++{
        ss=append(ss,fmt.Sprintf("s%d",i));
    }
    fmt.Printf("[ local print ]\t:\tlength:%v\taddr:%p\tisnil:%v\n",len(ss),ss, ss==nil)    
    print("after append",ss)
    //删除切片元素remove element at index
    index:=5;
    ss=append(ss[:index],ss[index+1:]...)
    print("after delete",ss)
    //在切片中间插入元素insert element at index;
    //注意:保存后部剩余元素,必须新建一个临时切片
    rear:=append([]string{},ss[index:]...) 
    ss=append(ss[0:index],"inserted")
    ss=append(ss,rear...)
    print("after insert",ss)
}
func print(msg string,ss []string){
    fmt.Printf("[ %20s ]\t:\tlength:%v\taddr:%p\tisnil:%v\tcontent:%v",msg,len(ss),ss, ss==nil,ss)    
    fmt.Println()
}
------
Running...
 
[ local print ]    :     length:0    addr:0x0    isnil:true
[           func print ]    :    length:0    addr:0x0    isnil:true    content:[]
[ local print ]    :    length:10    addr:0xc208056000    isnil:false
[         after append ]    :    length:10    addr:0xc208056000    isnil:false    content:[s0 s1 s2 s3 s4 s5 s6 s7 s8 s9]
[         after delete ]    :    length:9    addr:0xc208056000    isnil:false    content:[s0 s1 s2 s3 s4 s6 s7 s8 s9]
[         after insert ]    :    length:10    addr:0xc208056000    isnil:false    content:[s0 s1 s2 s3 s4 inserted s6 s7 s8 s9]
 
Success: process exited with code 0.

推奨: 「go 言語チュートリアル

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

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