ホームページ >バックエンド開発 >Golang >Golang で配列交差を実装する方法について話しましょう

Golang で配列交差を実装する方法について話しましょう

PHPz
PHPzオリジナル
2023-03-30 09:12:261627ブラウズ

Go 言語がインターネット分野でますます広く使用されるようになるにつれて、Golang 言語での配列操作も開発によく関係する問題になりました。その中で、Golang における配列の積集合も一般的な操作の 1 つですので、Golang で配列の積集合を実装する方法を学びましょう。

1. Golang 配列

Golang 配列は連続した要素で構成され、要素のタイプは数値、文字列、ブール値などです。 Golang 言語では配列の長さも固定されており、一度配列を定義すると長さを変更することはできません。 Golang 言語の文法に従って、配列を定義するときは、配列の型と配列の長さを指定する必要があります。例は次のとおりです:

var arr1 [3]int //定义一个包含三个整数的数组
var arr2 [2]string //定义一个包含两个字符串的数组

2. Golang 配列の共通部分を見つけます

Golang での検索方法を紹介します。2 つの配列を交差させる方法です。 2 つの配列 arr1 と arr2 があり、それらの交差部分を見つける必要があるとします。では、どうすればそれを達成できるのでしょうか? for ループを使用して各配列の要素を走査し、要素をマップに格納することで、マップの特性に応じて簡単に交差を実現できます。

サンプル コードは次のとおりです。

func intersection(arr1 []int, arr2 []int) []int {
    m := make(map[int]bool)
    res := make([]int, 0)
    for _, v := range arr1 {
        m[v] = true
    }
    for _, v := range arr2 {
        if m[v] {
            res = append(res, v)
        }
    }
    return res
}

このコードでは、intersection 関数は 2 つの配列パラメーター arr1 と arr2 を受け取り、make 関数を使用してマップ m を作成し、次に arr1 を走査します。のすべての要素はマップ m に格納されます。その後、arr2 のすべての要素を調べて、これらの要素がマップ m に存在するかどうかを判断します。存在する場合、この要素は arr1 と arr2 の両方に存在することを意味します。それを res 配列に追加し、最後に res 配列を返します。できる。

テスト コードは次のとおりです:

func main() {
    arr1 := []int{1, 2, 3, 4, 5}
    arr2 := []int{2, 4, 6, 8, 10}
    fmt.Println(intersection(arr1, arr2))
}

出力結果は次のとおりです:

[2 4]

プログラムが arr1 と arr2 の積、つまり 2 と 2 を返していることがわかります。 4.

3. まとめ

上記の導入を通じて、Golang 配列の定義と Golang 配列の交差の実装方法を理解しました。開発者にとって、Golang 配列の交差のスキルは必要なスキルであり、これらのメソッドをマスターすることで、開発にこれらのスキルをより適切に適用し、コードの品質と効率を向上させることもできます。

以上がGolang で配列交差を実装する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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