Rumah pembangunan bahagian belakang Golang Terdapat beberapa jenis pembolehubah dalam bahasa Go

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Jan 10, 2023 am 11:34 AM
pembolehubah golang pergi bahasa

Terdapat tiga jenis pembolehubah: 1. Pembolehubah yang ditakrifkan dalam fungsi dipanggil pembolehubah tempatan, dan skopnya terhad kepada bahagian dalam fungsi itu tidak selalu wujud, ia hanya wujud selepas fungsi yang mentakrifkan mereka dipanggil. Pembolehubah tempatan ini akan dimusnahkan selepas panggilan fungsi tamat. 2. Pembolehubah yang ditakrifkan di luar fungsi dipanggil pembolehubah global Ia hanya perlu ditakrifkan dalam satu fail sumber dan boleh digunakan dalam semua fail sumber, pengisytiharan pembolehubah global mesti bermula dengan kata kunci var dalam pakej luaran Huruf pertama pembolehubah mesti ditulis dengan huruf besar. 3. Pembolehubah dalam definisi fungsi dipanggil parameter formal.

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.

Bahasa Go ialah bahasa yang ditaip secara statik, jadi pembolehubah mempunyai jenis yang jelas, dan pengkompil juga akan menyemak ketepatan jenis pembolehubah. Dalam matematik, pembolehubah mewakili nombor yang tidak mempunyai nilai tetap dan boleh diubah. Tetapi dari perspektif pelaksanaan sistem komputer, pembolehubah ialah satu atau lebih segmen memori yang digunakan untuk menyimpan data.

Pembolehubah (malar, jenis atau fungsi) mempunyai skop tertentu dalam atur cara, yang dipanggil skop.

Memahami skop pembolehubah adalah lebih penting untuk kita mempelajari bahasa Go, kerana bahasa Go akan menyemak sama ada setiap pembolehubah telah digunakan semasa penyusunan Apabila pembolehubah yang tidak digunakan muncul, ralat kompilasi akan dilaporkan. Jika anda tidak dapat memahami skop pembolehubah, ia mungkin menyebabkan beberapa ralat kompilasi yang tidak dapat dijelaskan.

Mengikut lokasi definisi pembolehubah, ia boleh dibahagikan kepada tiga jenis berikut:

  • Pembolehubah yang ditakrifkan dalam fungsi dipanggil pembolehubah tempatan

  • Pembolehubah yang ditakrifkan di luar fungsi dipanggil pembolehubah global

  • Pembolehubah dalam definisi fungsi dipanggil parameter formal

The berikut adalah perbezaan Biar saya perkenalkan.

Pembolehubah setempat

Pembolehubah yang diisytiharkan/ditakrifkan di dalam fungsi dipanggil pembolehubah tempatan dan skop pembolehubah tempatan dihadkan kepada bahagian dalam fungsi. Pembolehubah yang ditakrifkan di dalam fungsi, parameter dan nilai pulangan fungsi, pembolehubah yang digunakan di dalam jika dan untuk struktur, dsb. adalah semua pembolehubah tempatan.

Pembolehubah setempat tidak selalu wujud selepas fungsi yang mentakrifkannya dipanggil Pembolehubah tempatan ini akan dimusnahkan selepas panggilan fungsi tamat.

[Contoh] Fungsi utama() berikut menggunakan pembolehubah setempat a, b dan c.

package main
import (
    "fmt"
)
func main() {
    //声明局部变量 a 和 b 并赋值
    var a int = 3
    var b int = 4
    //声明局部变量 c 并计算 a 和 b 的和
    c := a + b
    fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
}
Salin selepas log masuk

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Gunakan {} untuk mengehadkan skop pembolehubah

package main
import "fmt"
func main() {
	{
		name := "HaiCoder"
		fmt.Println("Name =", name)
	}
}
Salin selepas log masuk

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Kami menggunakan {} untuk mengehadkan skop nama pembolehubah kepada {}, iaitu, skop nama pembolehubah pada masa ini hanya dalam {} dan nama ialah pembolehubah setempat.

Nota: Jika pembolehubah diakses di luar skop pembolehubah, program akan melaporkan ralat

package main
import "fmt"
func main() {
	for i := 0; i < 3; i++{
		fmt.Print(i)
		fmt.Print(" ")
	}
	fmt.Print(i)
}
Salin selepas log masuk

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Kami telah menentukan pembolehubah setempat i di dalam gelung for dan Use, pada masa ini skop pembolehubah i dihadkan kepada {} di dalam gelung for. Akhir sekali, apabila kita mengakses pembolehubah i di luar {} gelung for, atur cara melaporkan ralat kerana pembolehubah i melebihi skop.

Pembolehubah global

Pembolehubah yang diisytiharkan di luar fungsi dipanggil pembolehubah global hanya perlu ditakrifkan dalam fail sumber digunakan dalam semua fail sumber sudah tentu, fail sumber yang tidak mengandungi pembolehubah global ini perlu menggunakan kata kunci "import" untuk memperkenalkan fail sumber di mana pembolehubah global berada sebelum mereka boleh menggunakan pembolehubah global ini.

Pengisytiharan pembolehubah global mesti bermula dengan kata kunci var Jika anda ingin menggunakan pembolehubah global dalam pakej luaran, huruf pertama mesti menggunakan huruf besar.

[Contoh] Dalam kod berikut, baris 6 mentakrifkan pembolehubah global c.

package main
import "fmt"
//声明全局变量
var c int
func main() {
    //声明局部变量
    var a, b int
    //初始化参数
    a = 3
    b = 4
    c = a + b
    fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
}
Salin selepas log masuk

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Nota: Nama pembolehubah global dan pembolehubah tempatan dalam program bahasa Go boleh sama, tetapi pembolehubah tempatan dalam badan fungsi akan diberi keutamaan.

package main
import "fmt"
//声明全局变量
var a float32 = 3.14
func main() {
    //声明局部变量
    var a int = 3
    fmt.Printf("a = %d\n", a)
}
Salin selepas log masuk

Terdapat beberapa jenis pembolehubah dalam bahasa Go

Parameter formal

Apabila mentakrifkan fungsi, pembolehubah dalam kurungan selepas fungsi nama dipanggil Parameter formal (dirujuk sebagai parameter formal). Parameter formal hanya akan berkuat kuasa apabila fungsi dipanggil, dan akan dimusnahkan selepas panggilan fungsi selesai Apabila fungsi tidak dipanggil, parameter formal fungsi tidak menduduki unit storan sebenar dan tidak mempunyai nilai sebenar.

Parameter formal akan digunakan sebagai pembolehubah tempatan fungsi.

[Contoh] Baris 21 kod di bawah mentakrifkan parameter formal a dan b.

package main
import (
    "fmt"
)
//全局变量 a
var a int = 13
func main() {
    //局部变量 a 和 b
    var a int = 3
    var b int = 4
    fmt.Printf("main() 函数中 a = %d\n", a)
    fmt.Printf("main() 函数中 b = %d\n", b)
    c := sum(a, b)
    fmt.Printf("main() 函数中 c = %d\n", c)
}
func sum(a, b int) int {
    fmt.Printf("sum() 函数中 a = %d\n", a)
    fmt.Printf("sum() 函数中 b = %d\n", b)
    num := a + b
    return num
}
Salin selepas log masuk

Terdapat beberapa jenis pembolehubah dalam bahasa Go

【相关推荐:Go视频教程编程教学

Atas ialah kandungan terperinci Terdapat beberapa jenis pembolehubah dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah masalah dengan thread giliran di crawler colly go? Apakah masalah dengan thread giliran di crawler colly go? Apr 02, 2025 pm 02:09 PM

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perpustakaan apa yang digunakan untuk operasi nombor terapung di GO? Perpustakaan apa yang digunakan untuk operasi nombor terapung di GO? Apr 02, 2025 pm 02:06 PM

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Di Go, mengapa rentetan percetakan dengan fungsi println dan rentetan () mempunyai kesan yang berbeza? Di Go, mengapa rentetan percetakan dengan fungsi println dan rentetan () mempunyai kesan yang berbeza? Apr 02, 2025 pm 02:03 PM

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Apr 02, 2025 pm 04:54 PM

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apr 02, 2025 pm 05:09 PM

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...

Tujuan Golang: Membina sistem yang cekap dan berskala Tujuan Golang: Membina sistem yang cekap dan berskala Apr 09, 2025 pm 05:17 PM

Pergi bahasa berfungsi dengan baik dalam membina sistem yang cekap dan berskala. Kelebihannya termasuk: 1. Prestasi Tinggi: Disusun ke dalam Kod Mesin, Kelajuan Berjalan Cepat; 2. Pengaturcaraan serentak: Memudahkan multitasking melalui goroutine dan saluran; 3. Kesederhanaan: sintaks ringkas, mengurangkan kos pembelajaran dan penyelenggaraan; 4. Cross-Platform: Menyokong kompilasi silang platform, penggunaan mudah.

Perpustakaan mana yang dibangunkan oleh syarikat besar atau disediakan oleh projek sumber terbuka yang terkenal? Perpustakaan mana yang dibangunkan oleh syarikat besar atau disediakan oleh projek sumber terbuka yang terkenal? Apr 02, 2025 pm 04:12 PM

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Bagaimana untuk menyelesaikan masalah kekangan jenis fungsi generik Golang yang dipadamkan secara automatik dalam vscode? Bagaimana untuk menyelesaikan masalah kekangan jenis fungsi generik Golang yang dipadamkan secara automatik dalam vscode? Apr 02, 2025 pm 02:15 PM

Penghapusan automatik Golang Generik Jenis Kekangan Jenis dalam Pengguna VSCode mungkin menghadapi masalah yang aneh ketika menulis kod Golang menggunakan vscode. Bila ...

See all articles