ホームページ > バックエンド開発 > Golang > Go言語を使ってスライス内の要素を削除する方法の紹介

Go言語を使ってスライス内の要素を削除する方法の紹介

王林
リリース: 2024-04-02 17:33:02
オリジナル
448 人が閲覧しました

Go 言語でスライス要素を削除するには、append 関数 (推奨されません)、copy 関数、および基になる配列の手動変更の 3 つの方法があります。 append 関数は末尾の要素を削除し、copy 関数は中間の要素を削除し、基になる配列を手動で変更して要素を直接割り当てたり削除したりできます。

Go言語を使ってスライス内の要素を削除する方法の紹介

#Go 言語でスライス内の要素を削除する方法の紹介

Go 言語では、スライスは基になる要素を指す参照型です。配列。スライスから要素を削除する場合は、スライスによって参照される基になる配列を更新する必要があります。

組み込み関数

appendFunction (推奨されません)

appendFunction同時に削除して要素を追加します。スライスの末尾要素を削除する必要がある場合は、次の構文を使用できます:

slice = slice[:len(slice)-1]    // 删除最后一个元素
ログイン後にコピー

copyFunction

copy この関数は、スライスの一部を別のスライスにコピーできます。中央の要素を削除する必要がある場合は、削除する要素の後の部分を新しいスライスにコピーできます。

index := 2
slice = append(slice[:index], slice[index+1:]...)    // 删除索引为index的元素
ログイン後にコピー

基になる配列を手動で変更します

直接割り当て

スライスの基になる配列を、削除する要素を含まない新しい配列に直接割り当てることができます。

index := 2
slice[index] = slice[len(slice)-1]    // 将要删除元素移动到最后
slice = slice[:len(slice)-1]         // 删除最后一个元素
ログイン後にコピー

実用的なケース

スライスを取得します。スライス要素を削除する方法を示す例として整数が含まれています:

package main

import "fmt"

func main() {
    slice := []int{1, 2, 3, 4, 5}
    
    // 使用append函数删除最后一个元素
    slice = slice[:len(slice)-1]
    fmt.Println(slice) // 输出:[1 2 3 4]
    
    // 使用copy函数删除中间元素
    index := 2
    slice = append(slice[:index], slice[index+1:]...)
    fmt.Println(slice) // 输出:[1 2 4 5]
    
    // 使用直接赋值删除元素
    index = 1
    slice[index] = slice[len(slice)-1]
    slice = slice[:len(slice)-1]
    fmt.Println(slice) // 输出:[1 3 4 5]
}
ログイン後にコピー

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート