Goの短い変数宣言演算子

Golangの短い変数宣言演算子 (:=) は、一意の名前と初期値を持つ変数を作成するために使用されます。この演算子を使用する主な目的は、関数内でローカル変数を宣言および初期化し、変数のスコープを狭めることです。変数の型は式の型によって決まります。 var キーワードは、特定の型の変数を作成するためにも使用されます。つまり、Golang で変数を作成する方法は次の 2 つあると言えます。

Goの短い変数宣言演算子

  • varキーワードの使用
  • 短い変数宣言演算子 (:=) を使用する

それでは、Golang で短い変数宣言演算子を使用する方法を学びましょう。

メインコンテンツ

Golang で短い変数宣言演算子を使用するための構文

variable_name := biểu thức hoặc giá trị

ここでは、宣言の直後に変数を初期化する必要があります。しかし、varキーワードを使用すると、宣言時の初期化を回避できます。変数の型を記述する必要はありません。右側の式または値は、変数の型を評価するために使用されます。

たとえば、ここでは短い宣言演算子を使用して変数を宣言し、変数の型を指定していません。変数の型は、演算子の右側の式の型によって決まります:=

// Minh họa chương trình Go dùng := (toán tử khai báo ngắn) 
package main

import "fmt"

func main() {

	// khai báo và khởi tạo biến
	a := 30

	// lấy một biến chuỗi
	Language: = "Go Programming"

	fmt.Println("The Value of a is: ", a)
	fmt.Println("The Value of Language is: ", Language)

}

結果:

The Value of a is:  30
The Value of Language is:  Go Programming

短い宣言演算子を使用して複数の変数を宣言する

短い宣言演算子を使用すると、単一の宣言で同じ型または異なる型の複数の変数を宣言することもできます。これらの変数の型は、演算子の右側の式によって評価されます:=

例えば:

// Minh họa chương trình Go dùng toán tử khai báo ngắn := short để khai báo nhiều
// biến thành một câu lệnh khai báo duy nhất
package main

import "fmt"

func main() { 

// nhiều biến của cùng kiểu(int)
geek1, geek2, geek3 := 117, 7834, 5685

// nhiều biến của các kiểu khác nhau
geek4, geek5, geek6 := "GFG", 859.24, 1234

// Hiện giá trị và kiểu của biến
fmt.Printf("The value of geek1 is : %d\n", geek1) 
fmt.Printf("The type of geek1 is : %T\n", geek1) 

fmt.Printf("\nThe value of geek2 is : %d\n", geek2) 
fmt.Printf("The type of geek2 is : %T\n", geek2) 

fmt.Printf("\nThe value of geek3 is : %d\n", geek3) 
fmt.Printf("The type of geek3 is : %T\n", geek3)

fmt.Printf("\nThe value of geek4 is : %s\n", geek4) 
fmt.Printf("The type of geek4 is : %T\n", geek4)


fmt.Printf("\nThe value of geek5 is : %f\n", geek5) 
fmt.Printf("The type of geek5 is : %T\n", geek5)

fmt.Printf("\nThe value of geek6 is : %d\n", geek6) 
fmt.Printf("The type of geek6 is : %T\n", geek6)

} 

結果:

The value of geek1 is : 117
The type of geek1 is : int

The value of geek2 is : 7834
The type of geek2 is : int

The value of geek3 is : 5685
The type of geek3 is : int

The value of geek4 is : GFG
The type of geek4 is : string

The value of geek5 is : 859.240000
The type of geek5 is : float64

The value of geek6 is : 1234
The type of geek6 is : int

覚えておくべき重要なポイント:

短縮宣言演算子は、演算子の左側の少なくとも 1 つの変数が:=新しく宣言されている場合に使用できます。短い変数宣言演算子は、同じ字句ブロック内で宣言された変数への割り当てのように機能します。この概念をよりよく理解するために、例を見てみましょう。

例 1: 以下のプログラムは、演算子の左側に新しい変数がないため、エラーをスローします:=

// Minh họa chương trình Go dùng khai báo biến ngắn
package main

import "fmt"

func main() { 

	// lấy hai biến
	p, q := 100, 200

	fmt.Println("Value of p ", p, "Value of q ", q)

	// Báo lỗi vì không có biến mới ở bên tay trái của :=
	p, q := 500, 600
	
	fmt.Println("Value of p ", p, "Value of q ", q)
}

エラー:

./prog.go:17:10: no new variables on left side of := 

例2:

以下のプログラムでは、演算子の左側に少なくとも 1 つの新しい変数 (つまり geek3) があるため、 geek3, geek2 := 456, 200 の行がエラーなしで正常に動作することがわかります:=

// Chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

// Ở đây, khai báo biến ngắn hoạt động
// như một phép gán cho biến geek1
// vì cùng một biến có trong cùng một khối
// do đó giá trị của geek2 được thay đổi từ 100 thành 200
geek1, geek2 := 78, 100

// ở đây, := được sử dụng như một phép gán cho geek2
// vì nó đã được khai báo. Ngoài ra, dòng này
// sẽ hoạt động tốt vì geek3 mới được tạo
// biến
geek3, geek2 := 456, 200

// Nếu bạn thử chạy các dòng được chú thích,
// thì trình biên dịch sẽ báo lỗi vì
// các biến này đã được định nghĩa
// geek1, geek2 := 745, 956
// geek3 := 150

// Hiện giá trị của các biến
fmt.Printf("The value of geek1 and geek2 is : %d %d\n", geek1, geek2) 
											
fmt.Printf("The value of geek3 and geek2 is : %d %d\n", geek3, geek2) 
} 

結果:

The value of geek1 and geek2 is : 78 200
The value of geek3 and geek2 is : 456 200

Go は、宣言された変数に異なるデータ型の値を割り当てることができないため、強く型付けされた言語です。

例えば:

// Minh họa chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

	// lấy một biến của int
	z := 50
	
	fmt.Printf("Value of z is %d", z)
	
	// gán lại giá trị của kiểu chuỗi
// nó sẽ đưa ra lỗi
	z := "Golang"
} 

エラー:

./prog.go:16:4: no new variables on left side of := 
./prog.go:16:7: cannot use “Golang” (type string) as type int in assignment 
 

Golang では、短い変数宣言で、複数の値を返す関数呼び出しを使用して変数のセットを初期化できます。あるいは、変数には実行時に評価される値を割り当てることもできると言えます。

例えば:

// Tại đây, hàm math.Max function trả về
// số lớn nhất trong biến i 
i := math.Max(x, y)

ローカル変数またはグローバル変数

短い変数宣言演算子 (:=) を使用すると、スコープがブロック レベルのみであるローカル変数を宣言できます。通常、ローカル変数は関数ブロック内で宣言されます。短い宣言演算子を使用してグローバル変数を宣言しようとすると、エラーが発生します。

例1:

// Chương trình Go hiển thị cách sử dụng toán tử :=
// để khai báo các biến cục bộ
package main

import "fmt"

// sử dụng từ khóa var để khai báo
// và khởi tạo biến
// đó là package hoặc bạn có thể nói
// phạm vi cấp toàn cục
var geek1 = 900

// sử dụng khai báo biến ngắn
// sẽ báo lỗi
geek2 := 200

func main() {

// truy cập geek1 bên trong hàm
fmt.Println(geek1)

// truy cập geek2 bên trong hàm
fmt.Println(geek2)

}

エラー:

./prog.go:15:1: syntax error: non-declaration statement outside function body 

例2:

// Chương trình Go dùng toán tử := operator
// để khai báo các biến cục bộ
package main 

import "fmt"

// dùng từ khóa var để khai báo
// và khởi tạo biến
// nó đóng gói hoặc bạn có thể báo
// phạm vi cấp toàn cục
var geek1 = 900


func main() { 

// dùng khai báo biến ngắn
// bên trong hàm chính
// nó có phạm vi cục bộ tức là không thể
// truy cập bên ngoài hàm chính
geek2 := 200

// truy cập geek1 bên trong hàm này
fmt.Println(geek1) 

// truy cập geek2 bên trong hàm này
fmt.Println(geek2) 
	
} 

結果:

900
200

Leave a Comment

Microsoft Teamsの予期しないダウンロードエラーを修正する方法

Microsoft Teamsの予期しないダウンロードエラーを修正する方法

Microsoft Teamsのダウンロードエラー「予期せぬエラー」でワークフローが滞っていませんか?専門家によるステップバイステップガイドと、クイックフィックスと高度なヒントで、すぐに問題を解決できます。再インストールは不要です!

Teams 会議でブレイクアウト ルームが表示されないのはなぜですか?

Teams 会議でブレイクアウト ルームが表示されないのはなぜですか?

Teams 会議でブレイクアウトルームが表示されなくて困っていませんか?Teams でブレイクアウトルームが表示されない主な原因を解説します。ステップバイステップの解決方法に従って、数分でスムーズに機能するようにしましょう。主催者にも参加者にも最適です!

Microsoft Teams OneDriveのファイル同期エラーの解決

Microsoft Teams OneDriveのファイル同期エラーの解決

Microsoft Teams OneDriveのファイル同期エラーにうんざりしていませんか?ステップバイステップガイドに従って、Microsoft Teams OneDriveのファイル同期エラーを素早く解決しましょう。Teamsチャンネルでのスムーズな共同作業に役立つ実証済みの修正プログラムをご用意しています。今すぐエラーのないファイル同期を実現しましょう!

Microsoft Teams のハードエラーを修正する方法(2026 レジストリ修正)

Microsoft Teams のハードエラーを修正する方法(2026 レジストリ修正)

Microsoft Teamsがハードエラーでクラッシュするのにうんざりしていませんか? わずか数分で解決できる、実績のある2026レジストリ修正プログラムを入手しましょう。ステップバイステップガイド、スクリーンショット、そして永続的な問題解決のためのヒントをご紹介します。最新バージョンで動作します!

Microsoft Teamsチュートリアルヘルプエラーのトラブルシューティング

Microsoft Teamsチュートリアルヘルプエラーのトラブルシューティング

Microsoft Teamsチュートリアルヘルプのエラーでお困りですか?このよくある問題に対する、実証済みのステップバイステップの解決策をご覧ください。キャッシュをクリアし、Teamsを更新するなど、すぐにシームレスなコラボレーションを取り戻しましょう!

Microsoft Teams エラーのトラブルシューティング: 最初に確認すべきこと

Microsoft Teams エラーのトラブルシューティング: 最初に確認すべきこと

Microsoft Teamsでエラーが発生していますか?このMicrosoft Teamsのトラブルシューティングガイドでは、エラーを迅速に解決するための最初のチェックポイントをステップバイステップでご紹介します。接続、キャッシュ、アップデートに関するクイックフィックスで、スムーズなチャットを再開できます。

Microsoft Teams アドインが Outlook に表示されないのはなぜですか?

Microsoft Teams アドインが Outlook に表示されないのはなぜですか?

Outlook に Microsoft Teams アドインが表示されなくて困っていませんか?主な原因と簡単なステップバイステップの修正方法をご紹介します。Teams と Outlook のシームレスな連携を簡単に復元できます。最新バージョンでご利用いただけます。

公共Wi-FiでのMicrosoft Teamsネットワークエラーの解決方法

公共Wi-FiでのMicrosoft Teamsネットワークエラーの解決方法

公共Wi-FiでMicrosoft Teamsのネットワークエラーに悩まされていませんか?VPNの調整、ポートチェック、キャッシュクリアなどの即時修正で、通話や会議をスムーズに復旧できます。ステップバイステップガイドですぐに問題を解決できます。

Microsoft Teams のステータスが「離席中」のままになっているのはなぜですか?

Microsoft Teams のステータスが「離席中」のままになっているのはなぜですか?

Microsoft Teamsのステータスが「離席中」のままになって困っていませんか?アイドルタイムアウトや電源設定など、よくある原因と、すぐに「対応可能」に戻すためのステップバイステップの修正方法をご紹介します。最新のTeams機能にアップデートしました。

Microsoft Teams のようこそ画面の起動ループのトラブルシューティング

Microsoft Teams のようこそ画面の起動ループのトラブルシューティング

Microsoft Teamsのようこそ画面の起動ループに悩まされていませんか?Microsoft Teamsのようこそ画面の起動ループを解消するための実証済みのトラブルシューティング手順をお試しください。キャッシュのクリア、アプリのリセット、再インストールが可能です。数分でシームレスなコラボレーション環境を取り戻せます!

Microsoft Teamsはなぜ遅いのか?2026年にスピードアップするための10のヒント

Microsoft Teamsはなぜ遅いのか?2026年にスピードアップするための10のヒント

Microsoft Teams の遅延にイライラしていませんか?Microsoft Teams が遅い理由を解明し、2026 年に劇的に高速化するための 10 の実証済みヒントを適用して、スムーズなコラボレーションを実現しましょう。

Microsoft Teams のショートカット エラーと起動時のクラッシュを解決する

Microsoft Teams のショートカット エラーと起動時のクラッシュを解決する

Microsoft Teamsのショートカットエラーでワークフローが滞っていませんか?Microsoft Teamsのショートカットエラーや起動時のクラッシュを解決し、スムーズなコラボレーションを実現する実証済みの手順をご紹介します。素早く簡単に解決できる方法を解説しています。

直接リンク経由でMicrosoft Teamsの会議参加エラーを解決する

直接リンク経由でMicrosoft Teamsの会議参加エラーを解決する

Microsoft Teamsの会議参加エラーでお困りですか?直接リンクから解決方法をご確認ください。シームレスに参加するためのクイックフィックス - 技術的なスキルは必要ありません!

Chromebook で Microsoft Teams のログインエラーを修正する方法

Chromebook で Microsoft Teams のログインエラーを修正する方法

Chromebook で Microsoft Teams のログインエラーに困っていませんか?ログイン問題を素早く解決するためのステップバイステップの解決策をご紹介します。キャッシュのクリア、アプリのアップデートなど、スムーズなチームワークを実現しましょう。最新の Chrome OS で動作します!

Teamsカレンダーはどこにありますか?同期の問題のトラブルシューティング

Teamsカレンダーはどこにありますか?同期の問題のトラブルシューティング

Teamsのカレンダーがどこにあるのか分からず困っていませんか?Microsoft Teamsの同期に関する問題をステップバイステップで解決しましょう。専門家のヒントも満載で、カレンダービューを復元して簡単に同期できます。