Operator pengisytiharan pembolehubah pendek dalam Go

Operator pengisytiharan pembolehubah pendek (:=) di Golang digunakan untuk mencipta pembolehubah dengan nama unik dan nilai awal. Tujuan utama menggunakan operator ini adalah untuk mengisytiharkan dan memulakan pembolehubah tempatan di dalam fungsi dan untuk mengecilkan skop pembolehubah. Jenis pembolehubah ditentukan oleh jenis ungkapan. Kata kunci var juga digunakan untuk mencipta pembolehubah jenis tertentu. Oleh itu, anda boleh mengatakan bahawa terdapat dua cara untuk mencipta pembolehubah di Golang seperti berikut:

Operator pengisytiharan pembolehubah pendek dalam Go

  • Menggunakan kata kunci var
  • Gunakan operator pengisytiharan pembolehubah pendek (:=)

Sekarang mari belajar cara menggunakan operator pengisytiharan pembolehubah pendek di Golang!

Kandungan utama

Sintaks untuk menggunakan operator pengisytiharan pembolehubah pendek dalam Golang

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

Di sini, anda perlu memulakan pembolehubah sejurus selepas pengisytiharan. Tetapi menggunakan kata kunci var anda boleh mengelakkan permulaan pada masa pengisytiharan. Tidak perlu menyebut jenis pembolehubah. Ungkapan atau nilai di sebelah kanan digunakan untuk menilai jenis pembolehubah.

Sebagai contoh: Di sini kita mengisytiharkan pembolehubah menggunakan pengendali pengisytiharan pendek dan tidak menyatakan jenis pembolehubah. Jenis pembolehubah ditentukan oleh jenis ungkapan di sebelah kanan pengendali :=.

// 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)

}

Keputusan:

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

Mengisytiharkan berbilang pembolehubah menggunakan pengendali pengisytiharan pendek

Operator pengisytiharan pendek juga boleh digunakan untuk mengisytiharkan berbilang pembolehubah jenis yang sama atau berbeza dalam satu pengisytiharan. Jenis pembolehubah ini dinilai oleh ungkapan di sebelah kanan pengendali :=.

Contohnya:

// 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)

} 

Keputusan:

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

Perkara penting yang perlu diingat:

Operator pengisytiharan pendek boleh digunakan apabila sekurang-kurangnya satu pembolehubah di sebelah kiri pengendali :=diisytiharkan baharu. Operator pengisytiharan pembolehubah pendek berfungsi seperti tugasan kepada pembolehubah yang diisytiharkan dalam blok leksikal yang sama. Untuk memahami konsep ini dengan lebih baik, mari kita ambil contoh.

Contoh 1: Program di bawah akan membuang ralat kerana tiada pembolehubah baharu di sebelah kiri operator :=.

// 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)
}

Ralat:

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

Contoh 2:

Dalam program di bawah, anda boleh melihat baris geek3, geek2 := 456, 200 akan berfungsi dengan baik tanpa sebarang ralat kerana terdapat sekurang-kurangnya satu pembolehubah baharu iaitu geek3 di sebelah kiri pengendali :=.

// 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) 
} 

Keputusan:

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

Go ialah bahasa yang ditaip kuat kerana anda tidak boleh menetapkan nilai jenis data yang berbeza kepada pembolehubah yang diisytiharkan.

Contohnya:

// 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"
} 

Ralat:

./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 
 

Dalam pengisytiharan pembolehubah pendek, Golang membenarkan memulakan set pembolehubah menggunakan panggilan fungsi yang mengembalikan berbilang nilai. Atau anda boleh katakan pembolehubah juga boleh diberikan nilai yang dinilai semasa runtime.

Contohnya:

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

Pembolehubah tempatan atau pembolehubah global

Dengan bantuan operator pengisytiharan pembolehubah pendek (:=), anda boleh mengisytiharkan pembolehubah tempatan yang skopnya hanya pada tahap blok. Secara umum, pembolehubah tempatan diisytiharkan di dalam blok fungsi. Jika anda cuba mengisytiharkan pembolehubah global menggunakan pengendali pengisytiharan pendek anda akan mendapat ralat.

Contoh 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)

}

Ralat:

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

Contoh 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) 
	
} 

Keputusan:

900
200
Sign up and earn $1000 a day ⋙

Leave a Comment

Perbezaan antara TV biasa dan TV Pintar

Perbezaan antara TV biasa dan TV Pintar

TV pintar benar-benar telah melanda dunia. Dengan begitu banyak ciri hebat dan sambungan internet, teknologi telah mengubah cara kita menonton TV.

Mengapa peti sejuk tidak mempunyai lampu tetapi peti sejuk ada?

Mengapa peti sejuk tidak mempunyai lampu tetapi peti sejuk ada?

Peti sejuk adalah peralatan biasa dalam isi rumah. Peti ais biasanya mempunyai 2 kompartmen iaitu ruang sejuk yang luas dan mempunyai lampu yang menyala secara automatik setiap kali pengguna membukanya, manakala ruang peti sejuk beku pula sempit dan tiada cahaya.

2 Cara untuk Membetulkan Kesesakan Rangkaian Yang Melambatkan Wi-Fi

2 Cara untuk Membetulkan Kesesakan Rangkaian Yang Melambatkan Wi-Fi

Rangkaian Wi-Fi dipengaruhi oleh banyak faktor di luar penghala, lebar jalur dan gangguan, tetapi terdapat beberapa cara pintar untuk meningkatkan rangkaian anda.

Cara Menurunkan Taraf daripada iOS 17 kepada iOS 16 tanpa Kehilangan Data menggunakan Tenorshare Reiboot

Cara Menurunkan Taraf daripada iOS 17 kepada iOS 16 tanpa Kehilangan Data menggunakan Tenorshare Reiboot

Jika anda ingin kembali kepada iOS 16 yang stabil pada telefon anda, berikut ialah panduan asas untuk menyahpasang iOS 17 dan menurunkan taraf daripada iOS 17 kepada 16.

Apa yang berlaku kepada badan apabila anda makan yogurt setiap hari?

Apa yang berlaku kepada badan apabila anda makan yogurt setiap hari?

Yogurt adalah makanan yang indah. Adakah baik untuk makan yogurt setiap hari? Apabila anda makan yogurt setiap hari, bagaimana badan anda akan berubah? Mari kita ketahui bersama!

Apakah jenis beras yang terbaik untuk kesihatan?

Apakah jenis beras yang terbaik untuk kesihatan?

Artikel ini membincangkan jenis beras yang paling berkhasiat dan cara memaksimumkan manfaat kesihatan bagi mana-mana beras yang anda pilih.

Bagaimana untuk bangun tepat pada waktunya pada waktu pagi

Bagaimana untuk bangun tepat pada waktunya pada waktu pagi

Menetapkan jadual tidur dan rutin waktu tidur, menukar jam penggera anda dan melaraskan diet anda ialah beberapa langkah yang boleh membantu anda tidur dengan lebih lena dan bangun tepat pada waktunya pada waktu pagi.

Petua untuk bermain Rent Please! Tuan Tanah Sim untuk Pemula

Petua untuk bermain Rent Please! Tuan Tanah Sim untuk Pemula

Tolong Sewa! Landlord Sim ialah permainan mudah alih simulasi pada iOS dan Android. Anda akan bermain sebagai tuan tanah kompleks pangsapuri dan mula menyewa sebuah apartmen dengan matlamat untuk menaik taraf bahagian dalam pangsapuri anda dan menyediakannya untuk penyewa.

Kod Pertahanan Menara Bilik Mandi Terkini dan Cara Memasukkan Kod

Kod Pertahanan Menara Bilik Mandi Terkini dan Cara Memasukkan Kod

Dapatkan kod permainan Bathroom Tower Defense Roblox dan tebus untuk ganjaran yang menarik. Mereka akan membantu anda menaik taraf atau membuka kunci menara dengan kerosakan yang lebih tinggi.

Struktur, simbol dan prinsip operasi transformer

Struktur, simbol dan prinsip operasi transformer

Mari belajar tentang struktur, simbol dan prinsip operasi transformer dengan cara yang paling tepat.

4 Cara AI Menjadikan TV Pintar Lebih Baik

4 Cara AI Menjadikan TV Pintar Lebih Baik

Daripada kualiti gambar dan bunyi yang lebih baik kepada kawalan suara dan banyak lagi, ciri dikuasakan AI ini menjadikan TV pintar lebih baik!

Mengapa ChatGPT lebih baik daripada DeepSeek

Mengapa ChatGPT lebih baik daripada DeepSeek

Pada mulanya, orang ramai menaruh harapan yang tinggi untuk DeepSeek. Sebagai chatbot AI yang dipasarkan sebagai pesaing kuat kepada ChatGPT, ia menjanjikan keupayaan dan pengalaman sembang pintar.

Temui Fireflies.ai: Setiausaha AI Percuma Yang Menjimatkan Masa Kerja Anda

Temui Fireflies.ai: Setiausaha AI Percuma Yang Menjimatkan Masa Kerja Anda

Sangat mudah untuk terlepas butiran penting semasa mencatat perkara penting lain, dan cuba mencatat nota semasa bersembang boleh mengganggu. Fireflies.ai adalah penyelesaiannya.

Bagaimana untuk membesarkan Axolotl Minecraft, menjinakkan Minecraft Salamander

Bagaimana untuk membesarkan Axolotl Minecraft, menjinakkan Minecraft Salamander

Axolot Minecraft akan menjadi pembantu yang hebat untuk pemain semasa beroperasi di bawah air jika mereka tahu cara menggunakannya.

Tempat yang Tenang: Konfigurasi Permainan PC Jalan Hadapan

Tempat yang Tenang: Konfigurasi Permainan PC Jalan Hadapan

Tempat yang Tenang: Konfigurasi The Road Ahead dinilai agak tinggi, jadi anda perlu mempertimbangkan konfigurasi sebelum membuat keputusan untuk memuat turun.