English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基礎チュートリアル

Golang 制御文

Golang ファンクション & メソッド

Golang 構造体

Golang スライス & 配列

Golang 文字列(String)

Golang ポインタ

Golang インターフェース

Golang 并行

Golang エラ(Error)

Golang その他の雑多な項目

Go 言語の変数

典型的なプログラムは、実行中に変更される可能性のあるさまざまな値を使用します。

例えば、ユーザーが入力した値に対して特定の操作を実行するプログラムです。ユーザーが入力した値は異なるユーザーが入力した値と異なる場合があります。したがって、変数を使用する必要があります。他のユーザーが同じ値を使用しない可能性があるためです。ユーザーが新しい値を入力し、その値が操作プロセスで使用される場合、一時的にコンピュータのランダムアクセスメモリに保存することができます。これらの値はメモリの異なる部分で実行されるため、これが別の用語として呼ばれます変数。変数は実行中に変更できる情報の占位符です。また、変数は保存された情報の検索と処理を許可します。

変数命名規則:

変数名はアルファベットまたはアンダースコア(_)で始まる必要があります。また、名前には「a」などのアルファベットが含まれることがあります。-z」または「A」-Z」または数字0-9、および文字「_」を使用できます。

Geeks, geeks, _geeks23  //有効な変数
123Geeks, 23geeks      // 無効な変数

変数名は数字で始まってはなりません。

234geeks  //無効な変数

変数名は大文字小文字を区別します。

geeksとGeeksは異なる変数です

キーワードは変数名として使用できません。

変数名の長さには制限はありませんが、推奨は4から15文字の最適な長さ

変数の宣言

Go言語では、変数は2つの異なる方法で作成されます:

(一)varキーワードの使用:Go言語では、変数は特定の型を使用して作成されます。varキーワードで作成された、そのキーワードは変数名に関連し、初期値を割り当てます。

文法:

var variable_name type = expression

重要事項:

上記の文法では、型(type) または=表現式は削除できますが、変数宣言内で同時に2つを削除することはできません。

型を削除すると、変数の型は表現式の値で初期化される

//変数の概念
package main
import "fmt"
func main() {
    //変数の宣言と初期化
    //明示的な型
    var myvariable1 = 20
    var myvariable2 = "w3codebox"
    var myvariable3 = 34.80
    // 値とコードボックスを表示する
    // 変数の型
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable1の型は : %T\n", myvariable1)
    fmt.Printf("myvariable2の値は : %s\n", myvariable2)
    fmt.Printf("myvariable2の型は : %T\n", myvariable2)
    fmt.Printf("myvariable3の値は : %f\n", myvariable3)
    fmt.Printf("myvariable3の型は : %T\n", myvariable3)
}

出力:

myvariable1の値は : 20
myvariable1の型は : int
myvariable2の値は : w3codebox
myvariable2の型は : string
myvariable3の値は : 34.800000
myvariable3のタイプは : float64

表現式が削除された場合、その変数の型はゼロ、数字はゼロ、ボルン値はfalse、文字列は""、インターフェースおよび参照型はnilです。したがって、Go言語には未初期化の変数の概念がありません。

package main
import "fmt"
func main() {
    //変数の宣言と初期化には表現式を使用しません
    var myvariable1 int
    var myvariable2 string
    var myvariable3 float64
    //0値の変数を表示します
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable2の値は : %d\n", myvariable2)
    fmt.Printf("myvariable3の値は : %d\n", myvariable3)
}

出力:

myvariable1の値は: 0
myvariable2の値は: %!d(string=)
myvariable3の値は: %!d(float64=0)

型を使用すると、単一の宣言で同じ型の複数の変数を宣言できます。

package main
import "fmt"
func main() {
    // 同じ型の複数の変数を一行で宣言および初期化します
    var myvariable1, myvariable2, myvariable3 int = 2, 454, 67
    // 変数の値を出力します
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable2の値は : %d\n", myvariable2)
    fmt.Printf("myvariable3の値は : %d\n", myvariable3)
}

出力:

myvariable1の値は : 2
myvariable2の値は : 454
myvariable3の値は : 67

型を削除すると、単一の宣言で異なる型の複数の変数を宣言できます。変数の型は初期値で決定されます。

package main
import "fmt"
func main() {
    //異なる型の変数
    //一行で宣言と初期化
    var myvariable1, myvariable2, myvariable3 = 2, "GFG", 67.56
    // 変数の値と型を印刷
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable1の型は : %T\n", myvariable1)
    fmt.Printf("\nmyvariable2の値は : %s\n", myvariable2)
    fmt.Printf("myvariable2の型は : %T\n", myvariable2)
    fmt.Printf("\nmyvariable3の値は : %f\n", myvariable3)
    fmt.Printf("myvariable3の型は : %T\n", myvariable3)
}

出力:

myvariable1の値は : 2
myvariable1の型は : int
myvariable2の値は: GFG
myvariable2の型は : string
myvariable3の値は : 67.560000
myvariable3のタイプは : float64

複数の値を返す呼び出し関数を使用して、一組の変数を初期化することができます。

例えば:

//ここでは、os.Open関数は
//ファイルのi変数とエラー
//j変数の中で
var i, j = os.Open(name)

(二)短変数宣言の使用:短変数宣言を使用して関数内で宣言および初期化されたローカル変数を宣言するために使用します。

文法:

variable_name:= expression

注意:でないでください、:==の間で混同されます、なぜなら:= は宣言であり、 = は代入です。

重要事項:

上記の表現式では、変数の型は表現式の型で決定されます。

package main
import "fmt"
func main() {
    // 短い変数宣言を使用
    myvariable1 := 39
    myvariable2 := "oldtoolbag.com"
    myvariable3 := 34.67
    // 変数の値と型を印刷
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable1の型は : %T\n", myvariable1)
    fmt.Printf("\nmyvariable2の値は : %s\n", myvariable2)
    fmt.Printf("myvariable2の型は : %T\n", myvariable2)
    fmt.Printf("\nmyvariable3の値は : %f\n", myvariable3)
    fmt.Printf("myvariable3の型は : %T\n", myvariable3)
}

出力:

myvariable1の値は : 39
myvariable1の型は : int
myvariable2の値は : oldtoolbag.com
myvariable2の型は : string
myvariable3の値は : 34.670000
myvariable3のタイプは : float64

簡潔さと柔軟性のため、ほとんどのローカル変数は短い変数宣言で宣言および初期化されます。

変数のvar宣言は、明示的な型が必要で、初期値設定項の式と異なる型のローカル変数、または値が後で割り当てられ、初期値が重要でない変数に使用されます。

短い変数宣言を使用すると、単一の宣言で複数の変数を宣言できます。

package main
import "fmt"
func main() {
    //一行で宣言と初期化
    //短い変数宣言を使用
    //同じ型の複数の変数
    myvariable1, myvariable2, myvariable3 := 800, 34.7, 56.9
    // 変数の値と型を印刷
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable1の型は : %T\n", myvariable1)
    fmt.Printf("\nmyvariable2の値は : %f\n", myvariable2)
    fmt.Printf("myvariable2の型は : %T\n", myvariable2)
    fmt.Printf("\nmyvariable3の値は : %f\n", myvariable3)
    fmt.Printf("myvariable3の型は : %T\n", myvariable3)
}

出力:

myvariable1の値は : 800
myvariable1の型は : int
myvariable2の値は : 34.700000
myvariable2のタイプは : float64
myvariable3の値は : 56.900000
myvariable3のタイプは : float64

短い変数宣言では、複数の値を返す関数の呼び出しを許可しています。これにより、複数の変数を初期化できます。

//ここでは、os.Open関数は
//ファイルのi変数とエラー
//j変数の中で
i, j := os.Open(name)

短い変数宣言は、既に同一の文法ブロックで宣言された変数に対してのみ、割り当てとして機能します。外部ブロックで宣言された変数は無視されます。以下の例のように、これらの変数の少なくとも1つが新しい変数であることを示します。

package main
import "fmt"
func main() {
    //短い変数宣言を使用
    //ここでは、短い変数宣言のアクション
    //としてmyvar2変数の割り当て
    //同じブロック内に同じ変数が存在するため
    //したがってmyvar2の値が45を変更すると100
    myvar1, myvar2 := 39, 45
    myvar3, myvar2 := 45, 100
    //コメント行を実行しようとすると、
    //その場合、コンパイラはエラーを返します、なぜなら
    //これらの変数は既に定義されています、例えば
    // myvar1,myvar2:= 43,47
    // myvar2:= 200
    // 変数の値を印刷
    fmt.Printf("myvar1 と myvar2 の値 : %d %d\n", myvar1, myvar2)
    fmt.Printf("myvar3 と myvar2 の値 : %d %d\n", myvar3, myvar2)
}

出力:

myvar1 と myvar2 の値 : 39 100
myvar3 と myvar2 の値 : 45 100

短い変数宣言を使用すると、単一の宣言で異なる型の複数の変数を宣言できます。これらの変数の型は式によって決定されます。

package main
import "fmt"
func main() {
    //一行で宣言と初期化
    //短い変数宣言を使用
    //異なる型の変数
    myvariable1, myvariable2, myvariable3 := 800, "w3codebox", 47.56
    // 変数の値と型を印刷
    fmt.Printf("myvariable1の値は : %d\n", myvariable1)
    fmt.Printf("myvariable1の型は : %T\n", myvariable1)
    fmt.Printf("\nmyvariable2の値は : %s\n", myvariable2)
    fmt.Printf("myvariable2の型は : %T\n", myvariable2)
    fmt.Printf("\nmyvariable3の値は : %f\n", myvariable3)
    fmt.Printf("myvariable3の型は : %T\n", myvariable3)
}

出力:

myvariable1の値は : 800
myvariable1の型は : int
myvariable2の値は : w3codebox
myvariable2の型は : string
myvariable3の値は : 47.560000
myvariable3のタイプは : float64