ホームページ バックエンド開発 Golang Golang配列の使い方を詳しく解説

Golang配列の使い方を詳しく解説

Mar 30, 2023 am 09:12 AM

近年、開発者の間で Golang (Go 言語) の人気が高まっています。 Golang は C 言語の効率性と信頼性を備えているだけでなく、Python 言語のシンプルさと学習のしやすさも備えています。中でも配列はGolangにおいて重要なデータ型であり、今回はGolangの配列の使い方に焦点を当てて説明します。

1. 配列の定義

Golang で配列を宣言するには、配列の型と長さを指定する必要があります。構文は次のとおりです:

var arr [长度]类型
ログイン後にコピー

たとえば、長さ 5 の配列 int 型の配列:

var arr [5]int
ログイン後にコピー

この時点で、Golang はスペースを割り当て、型のデフォルト値 (int 型のデフォルト値は 0) に従って初期化します。次のように:

[0 0 0 0 0]
ログイン後にコピー

また、イニシャライザを使用して配列に初期値を割り当てます。たとえば:

var arr = [5]int{1, 2, 3, 4, 5}
ログイン後にコピー

または次のように省略できます:

arr := [5]int{1, 2, 3, 4, 5}
ログイン後にコピー

上記のメソッドは長さ 5 の配列を作成し、初期値を 1 、2、3、4、5 に割り当てることができます。

配列の長さに固定制限がない場合は、スライスを使用できます。

2. 配列の基本操作

1. 配列の長さを取得する

Golang では、len() 関数を使用して配列の長さを取得できます。例:

arr := [5]int{1, 2, 3, 4, 5}
length := len(arr)
fmt.Println(length) //输出5
ログイン後にコピー

2. 配列要素へのアクセス

Golang では、配列の添字を使用して配列要素にアクセスでき、配列の添字は 0 からカウントされます。例:

arr := [5]int{1, 2, 3, 4, 5}
fmt.Println(arr[0]) //输出1
fmt.Println(arr[4]) //输出5
ログイン後にコピー

3. 配列要素の変更

Golang では、たとえば:

arr := [5]int{1, 2, 3, 4, 5}
arr[0] = 100
fmt.Println(arr) //输出[100 2 3 4 5]
ログイン後にコピー

3 のように添え字を付けることで配列要素の値を変更できます。 array

Golang では、多次元配列も使用できます。多次元配列は、1 つの要素が配列である配列です。 1 次元配列と同様に、2 次元配列を宣言する構文は次のとおりです。

var arr [长度1][长度2]类型
ログイン後にコピー

例:

var arr [4][2]int
ログイン後にコピー

上記の操作により、4 行の 2 次元配列が作成されます。そして2列。

多次元配列へのアクセスと変更も、添え字を使用して 1 次元配列と同様に行うことができます (例:

arr := [4][2]int{{1, 2}, {3, 4}, {5, 6}, {7, 8}}
fmt.Println(arr[0][0]) //输出1
fmt.Println(arr[1][1]) //输出4 
arr[2][1] = 10
fmt.Println(arr) //输出[[1 2] [3 4] [5 10] [7 8]]
ログイン後にコピー

4. 配列トラバーサル

Golang では、 for ループを使用すると、配列要素を簡単に反復できます。例:

arr := [5]int{1, 2, 3, 4, 5}
for i := 0; i < len(arr); i++ {
    fmt.Println(arr[i])
}
ログイン後にコピー

または、 range キーワードを使用して走査することもできます:

arr := [5]int{1, 2, 3, 4, 5}
for index, value := range arr {
    fmt.Printf("arr[%d] = %d \n", index, value)
}
ログイン後にコピー

上記 2 つのメソッドは両方とも、出力配列内の要素を走査できます。

5. パラメータとしての配列

Golang では、配列を関数のパラメータとして使用することもできます。例:

func sum(arr [5]int) int {
    var sum int
    for _, value := range arr {
        sum += value
    }
    return sum
}

func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    fmt.Println(sum(arr))
}
ログイン後にコピー

上記のコードでは、sum() 関数は長さ 5 の int 型配列をパラメーターとして受け取り、この配列の合計を返します。

6. スライスを配列に変換する

スライスは Golang のもう 1 つの非常に重要なデータ型であり、動的に拡張できます。 Slice を配列に変換する必要がある場合は、copy() 関数を使用できます。例:

slice := []int{1, 2, 3, 4, 5}
var arr [5]int
copy(arr[:], slice)
fmt.Println(arr) //输出[1 2 3 4 5]
ログイン後にコピー

7. まとめ

この記事では、主に Golang 配列の基本的な知識を紹介します。配列の定義と基本操作、多次元配列、トラバース、パラメータとしての配列、スライスから配列への変換など。 Golang 開発者の場合、配列の使用法を学習して習得することは、プログラミング スキルと開発効率の向上に役立ちます。

以上がGolang配列の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Debian OpenSSLの脆弱性は何ですか Debian OpenSSLの脆弱性は何ですか Apr 02, 2025 am 07:30 AM

OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

PPROFツールを使用してGOパフォーマンスを分析しますか? PPROFツールを使用してGOパフォーマンスを分析しますか? Mar 21, 2025 pm 06:37 PM

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

Goでユニットテストをどのように書きますか? Goでユニットテストをどのように書きますか? Mar 21, 2025 pm 06:34 PM

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

GOの浮動小数点番号操作に使用されるライブラリは何ですか? GOの浮動小数点番号操作に使用されるライブラリは何ですか? Apr 02, 2025 pm 02:06 PM

GO言語の浮動小数点数操作に使用されるライブラリは、精度を確保する方法を紹介します...

Go's Crawler Collyのキュースレッドの問題は何ですか? Go's Crawler Collyのキュースレッドの問題は何ですか? Apr 02, 2025 pm 02:09 PM

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

フロントエンドからバックエンドの開発に変身すると、JavaやGolangを学ぶことはより有望ですか? フロントエンドからバックエンドの開発に変身すると、JavaやGolangを学ぶことはより有望ですか? Apr 02, 2025 am 09:12 AM

バックエンド学習パス:フロントエンドからバックエンドへの探査の旅は、フロントエンド開発から変わるバックエンド初心者として、すでにNodeJSの基盤を持っています...

go.modファイルで依存関係をどのように指定しますか? go.modファイルで依存関係をどのように指定しますか? Mar 27, 2025 pm 07:14 PM

この記事では、go.modを介してGOモジュールの依存関係の管理、仕様、更新、競合解決をカバーすることについて説明します。セマンティックバージョンや定期的な更新などのベストプラクティスを強調しています。

GOでテーブル駆動型テストをどのように使用しますか? GOでテーブル駆動型テストをどのように使用しますか? Mar 21, 2025 pm 06:35 PM

この記事では、GOでテーブル駆動型のテストを使用して説明します。これは、テストのテーブルを使用して複数の入力と結果を持つ関数をテストする方法です。読みやすさの向上、重複の減少、スケーラビリティ、一貫性、および

See all articles