Di GO, pembolehubah boleh diisytiharkan dan dimulakan menggunakan beberapa kaedah. Cara yang paling biasa untuk mengisytiharkan pemboleh ubah menggunakan kata kunci var
. Inilah cara anda boleh melakukannya:
<code class="go">var name string // Declaration without initialization var age int = 25 // Declaration with initialization</code>
Anda juga boleh mengisytiharkan dan memulakan pelbagai pembolehubah jenis yang sama pada satu baris:
<code class="go">var firstname, lastname string = "John", "Doe"</code>
Pergi juga membolehkan anda menggunakan pengisytiharan pembolehubah pendek menggunakan :=
operator, yang memasuki jenis dan hanya sah dalam fungsi:
<code class="go">name := "Alice" // Short declaration and initialization, equivalent to var name string = "Alice"</code>
Anda juga boleh menggunakan kata kunci var
dengan tanda kurung untuk mengumpulkan pelbagai deklarasi:
<code class="go">var ( name string = "Bob" age int = 30 )</code>
Di Go, anda juga boleh mengisytiharkan pembolehubah di peringkat pakej (di luar fungsi), yang dimulakan apabila program bermula:
<code class="go">var globalVariable string = "Global" func main() { // Access globalVariable here }</code>
Di GO, nilai boleh diberikan kepada pembolehubah dalam beberapa cara:
Tugasan Langsung : Ini adalah cara yang paling mudah untuk memberikan nilai kepada pembolehubah selepas ia diisytiharkan.
<code class="go">var name string name = "John"</code>
Tugasan Pelbagai : Pergi menyokong memberikan pelbagai nilai kepada pelbagai pembolehubah dalam satu pernyataan.
<code class="go">var firstname, lastname string firstname, lastname = "John", "Doe"</code>
Pengisytiharan dan tugasan pembolehubah pendek : Kaedah ini menggunakan :=
operator, yang mengisytiharkan dan memberikan nilai kepada pembolehubah dalam satu langkah, dan hanya sah dalam fungsi.
<code class="go">name := "Alice"</code>
Menggunakan Fungsi atau Ekspresi : Pembolehubah boleh diberikan nilai yang dikembalikan oleh fungsi atau ungkapan.
<code class="go">length := len("Hello, World!")</code>
Tugas Tuple : GO membolehkan memberikan hasil panggilan fungsi atau satu set nilai kepada pelbagai pembolehubah sekaligus.
<code class="go">a, b := 1, 2 a, b = b, a // Swapping values</code>
Go menyediakan kesimpulan jenis, yang membolehkan pengkompil untuk menentukan jenis pembolehubah secara automatik berdasarkan nilai yang diberikan. Ini amat berguna apabila menggunakan sintaks pengisytiharan pembolehubah pendek ( :=
).
Apabila anda menggunakan :=
operator untuk mengisytiharkan dan memulakan pemboleh ubah, pergilah jenis dari sebelah kanan tugasan. Contohnya:
<code class="go">name := "Alice" // The type of 'name' is inferred to be string age := 25 // The type of 'age' is inferred to be int</code>
Jenis kesimpulan juga berfungsi dengan literal komposit dan ungkapan kompleks:
<code class="go">numbers := []int{1, 2, 3} // The type of 'numbers' is inferred to be []int (slice of ints) sum := 10 20 // The type of 'sum' is inferred to be int</code>
Walau bagaimanapun, jenis kesimpulan hanya berfungsi dalam fungsi menggunakan :=
operator. Apabila anda menggunakan kata kunci var
, anda mesti secara jelas mengisytiharkan jenis jika anda tidak memberikan nilai permulaan:
<code class="go">var name string // Explicit type declaration var age = 25 // Type is inferred to be int</code>
Di GO, skop pembolehubah menentukan bahagian kod di mana pembolehubah boleh diakses. Terdapat tiga skop utama di mana sahaja:
Skop Pakej : Pembolehubah yang diisytiharkan di luar fungsi menggunakan kata kunci var
mempunyai skop pakej. Pembolehubah ini boleh diakses dari mana -mana fail dalam pakej yang sama dan dimulakan apabila program bermula.
<code class="go">package main var globalVariable string = "Global" func main() { fmt.Println(globalVariable) // Accessible within the package }</code>
Skop fungsi : Pembolehubah yang diisytiharkan di dalam fungsi menggunakan kata kunci var
atau pengisytiharan pembolehubah pendek ( :=
) mempunyai skop fungsi. Pembolehubah ini hanya boleh diakses dalam fungsi di mana mereka diisytiharkan.
<code class="go">func main() { localVar := "Local" fmt.Println(localVar) // Accessible within the function }</code>
Skop Blok : Pembolehubah yang diisytiharkan dalam blok (seperti if
, for
, atau switch
pernyataan) mempunyai skop blok. Pembolehubah ini hanya boleh diakses dalam blok tersebut.
<code class="go">if true { blockVar := "Block" fmt.Println(blockVar) // Accessible within the if block } // blockVar is not accessible here</code>
Pergi menguruskan skop pembolehubah dengan menguatkuasakan peraturan yang menghalang mengakses pembolehubah di luar skop mereka yang ditakrifkan. Ini membantu mengekalkan integriti dan kejelasan kod, menghalang akses dan pengubahsuaian yang tidak diingini.
Atas ialah kandungan terperinci Bagaimana anda mengisytiharkan dan memulakan pembolehubah di GO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!