ゴランアレイ

11602 ワード

導入


Golangのこの5番目のセクションでは、配列の基本を理解します.いくつかの基本的な操作を宣言、初期化、変更、配列の反復処理のようにカバーします.

配列の宣言


配列は、同じタイプの連続した記憶場所で複数のアイテムを格納することができるデータ構造のタイプです.Golangでは、任意の変数に似た配列を作成することができますが、[] 正方形の括弧、配列の長さ、値など、初期化されると長さを変更できません.
Golangで基本的な配列を作成するには、次のコードを使用できます.
package main

import "fmt"

func main() {
    var languages[4]string
    languages[0] = "Python"
    fmt.Println(languages)
}
$ go run basic.go
[Python   ]
ここで、我々はサイズ4のストリング配列を初期化して、宣言の要素のどんな値も初期化しませんでした.その後、配列内の0番目のインデックスまたは最初の要素の値を文字列に設定し、残りの要素の残りを空の文字列に設定します"" . ここで注意する点は、配列のサイズを後で変更することができず、Golangで配列を宣言している間にサイズを空にすることができます.
配列の宣言時に、要素を初期化することもできます.
lang_array := [4]string {"Python", "Go", "Javascript", "C++"}
fmt.Println(lang_array)
$ go run basic.go
[Python Go Javascript C++]
そこで、Walrus演算子を使用します:= 宣言時に値を配列で初期化する.

配列の長さをコンパイルするコンパイラ


コンパイラを使用して、配列の長さを決定することもできます... 括弧内の構文.これは、{} ブレース.したがって、すべての要素を配列で宣言する必要があります.
cart := [...]string {"Bag", "Shirt", "Watch", "Book"}
fmt.Println(cart)
$ go run basic.go
[Bag Shirt Watch Book]

要素へのアクセスと変更


配列の要素にアクセスするには、プログラムで通常通り0から始まる要素のインデックスを使用できます.
marks := [6]int {85, 89, 75, 93, 98, 60}
fmt.Println(marks[1])
fmt.Println(marks[5])
fmt.Println(marks[3])
$ go run basic.go
89
60
93
これで、配列の特定のインデックスの要素にアクセスできます.さて、すでに初期化されている要素を変更または編集する方法を参照してください.
name := [5]byte {'f','u','z','z','y'}
fmt.Printf("%s\n",name)
name[0] = 'b'
name[4] = 'z'
fmt.Printf("%s\n",name)
$ go run basic.go
fuzzy
buzzz
要素のインデックスにアクセスすることで、配列内の要素に適切な値を設定することができ、配列の内容を変更できます.

配列の長さを見つける


配列の長さを見つけるには、len 関数.The len 関数は配列をパラメータとして受け取り、配列のサイズを返します.
code := [7]rune {'#', '5', 'g', 't', 'm', 'y', '6'}
fmt.Println("The length of the array is :", len(code))
$ go run basic.go
The length of the array is : 7
前のいくつかのセクションでは、配列を宣言して、初期化している間、コンパイラが配列の長さを作ることについて話しました
cart := [...]string {"Bag", "Shirt", "Watch", "Book"}
fmt.Printf("There are %d items in your cart\n", len(cart))
$ go run basic.go
There are 4 items in your cart
現在でも配列の長さを得ることができます[...] len関数を使った構文.

配列を反復処理する


私たちは、配列に関して、すなわち、各々の要素の上に反復することが最も重要な局面に動くことができます.ループ、範囲ベースのループまたはwhileループの3つの文のような様々なタイプのforループを使用できます.

ループの3つの文


ループの3文を使用することができます0 , カウンタ( i )になる条件は、len 関数と1つずつインクリメント.
code := [7]rune {'#', '5', 'g', 't', 'm', 'y', '6'}

for i := 0; i<len(code); i++{
    fmt.Printf("%c\n",code[i])
}
$ go run basic.go
#
5
g
t
m
y
6
このようにして、Garangのループに対して3つの文を配列で反復処理することができます.

距離ベースループの使用


私たちはrange Golangの配列を反復するキーワード.Rangeキーワードは、イテレータ内の要素のイテレータとコピーを2つの変数を取ることによって配列を反復処理するために使用します.我々はイテレータを使用していないので、我々はそれを言う_ , さもなければ、それは宣言された変数を使用しないことの警告/エラーを与えます.したがって、私たちはこの場合、要素のコピーを必要とするだけですs またはあなたが好きな他の名前.
cart := [...]string {"Bag", "Shirt", "Watch", "Book"}

for _, s := range cart{
    fmt.Println(s)
}
$ go run basic.go
Bag
Shirt
Watch
Book
このように、ループに基づいた範囲を使用すると、カウンタ/イテレータのチェック条件とインクリメントを必要とせずに、各要素の配列を反復処理することができました.
それはこの部分からです.すべてのコード例とコマンドの参照は100 days of Golang githubリポジトリ.

結論


したがって、このシリーズのこの部分から、我々はgolangの配列のbaiscsを理解することができました.配列の宣言から繰り返し処理を行います.
お読みありがとうございます.ご質問やご意見がある場合は、コメントや社会的なハンドルで私に知らせてください.ハッピーコーディング