ホームページ > バックエンド開発 > Golang > Go スライス内の要素の位置を見つけるにはどうすればよいですか?

Go スライス内の要素の位置を見つけるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-20 00:25:09
オリジナル
646 人が閲覧しました

How Can I Find the Position of an Element in a Go Slice?

スライス内の要素の位置の検索

Go のスライス内の要素の位置の決定は、汎用ライブラリ関数では対応できません。 Go の言語設計には、任意のスライス タイプに適用できる関数を定義するための簡単なアプローチがありません。

カスタム実装

コード サンプルに示すように、独自の関数を定義できます。このタスクを達成するために、あなたが指定したものは次のとおりです。

type intSlice []int

func (slice intSlice) pos(value int) int {
    for p, v := range slice {
        if v == value {
            return p
        }
    }
    return -1
}
ログイン後にコピー

この関数はスライスを反復処理し、各要素をスライスと比較します。指定された値。値が見つかった場合は、その位置が返されます。それ以外の場合は、-1 が返されます。

この関数は機能しますが、より短い範囲の構文を使用することで若干の改善が可能です:

func (slice intSlice) pos(value int) int {
    for i, v := range slice {
        if v == value {
            return i
        }
    }
    return -1
}
ログイン後にコピー

バイト スライスの代替

スライスにバイト要素が含まれている場合、bytes.IndexByte 関数を使用して位置を見つけることができます。特定のバイト値の。その構文は次のとおりです:

func IndexByte(s \[\]byte, c byte) int
ログイン後にコピー

以上がGo スライス内の要素の位置を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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