Memahami Perbezaan antara ":=" dan "=" dalam Go
Sebagai orang baru dalam Go, anda mungkin bingung dengan penggunaan ":=" dan "=" yang kelihatan boleh ditukar ganti untuk tugasan berubah-ubah. Walau bagaimanapun, terdapat perbezaan halus yang berkisar pada konteks pengisytiharan berubah-ubah.
Peranan "="
In Go, "=" digunakan terutamanya untuk tugasan berubah-ubah. Ia mematuhi sintaks "jenis nama var = ungkapan," dengan "nama" mewakili pembolehubah yang diberikan. Yang penting, jenis atau ungkapan tugasan boleh ditinggalkan, tetapi bukan kedua-duanya.
Sifat ":="
Sebaliknya, ":=" menandakan pendek perisytiharan pembolehubah, yang mengikut format "nama := ungkapan." Di sini, ":=" bertindak sebagai pengisytiharan gabungan dan pengendali tugasan. Jenis "nama" secara automatik disimpulkan daripada jenis "ungkapan."
Membezakan Antara Pengisytiharan dan Tugasan
Perbezaan utama terletak pada tujuan utama setiap pengendali. ":=" adalah semata-mata untuk pengisytiharan, manakala "=" digunakan untuk tugasan. Oleh itu, pengisytiharan pembolehubah pendek mesti sentiasa memperkenalkan sekurang-kurangnya satu pembolehubah baharu sepenuhnya dalam blok leksikal semasa.
Contoh Penggunaan
Untuk menggambarkan perbezaan, pertimbangkan contoh berikut :
var x int = 1
Pernyataan ini mengisytiharkan pembolehubah integer "x" dan memulakannya dengan nilai 1.
r := foo()
Ini ialah pengisytiharan pembolehubah pendek yang memberikan nilai pulangan fungsi "foo()" kepada pembolehubah yang baru dibuat "r."
This creates a new variable "m" and assigns a new value to the existing variable "r." **Exceptions and Additional Information** It's worth noting that ":=" can only be used within functions. However, it can declare temporary variables within the initializers of control structures like "if," "for," and "switch." For further exploration, you can refer to the official Go documentation on: * [Variable Declarations](https://go.dev/ref/spec#Variable_declarations)
Atas ialah kandungan terperinci Pergi ':=' vs. '=': Bila hendak menggunakan Pengisytiharan Pembolehubah Pendek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!