editor php Strawberry akan memperkenalkan kepada anda pemulaan struktur global di Golang hari ini. Di Golang, struktur boleh digunakan untuk mengatur dan mengurus data, dan pemulaan struktur global ialah cara yang mudah dan biasa digunakan. Melalui pemulaan struktur global, kita boleh memulakan struktur apabila program bermula, mengelakkan masalah pemulaan manual setiap kali struktur digunakan. Di bawah ini kami akan memperkenalkan secara terperinci kaedah dan langkah berjaga-jaga khusus untuk pemulaan struktur global untuk membantu semua orang memahami dan menggunakan fungsi ini dengan lebih baik.
Saya ingin mengisytiharkan pembolehubah struktur global kepunyaan pakej tertentu dan memulakannya.
Saya mempunyai struktur direktori berikut:
main ├── symbol | ├── symbol.go | └── comma.go ├── main.go └── go.mod
symbol.go:
package symbol type symbol struct{ name string format string }
comma.go:
package symbol var comma = symbol{} comma.name = "comma" comma.format = ","
main.go:
package main import "fmt" import "github.com/.../symbol" func main() { s := symbol.Comma fmt.Println(s.Name) }
Apabila saya menjalankan ia berkata:
syntax错误:函数体外部的非声明语句
Bagaimana saya boleh menyelesaikan masalah ini?
Pernyataan pengisytiharan ialah satu-satunya jenis pernyataan yang dibenarkan pada peringkat pakej. Kenyataan
comma.name = "comma" comma.format = ","
ialah penyata tugasan. Tugasan bukan pengisytiharan.
Ada dua cara untuk menyelesaikan masalah ini. Kaedah pertama dan pilihan ialah menggunakanliteral kompaununtuk memulakan nilai dalam perisytiharan pembolehubah.
var comma = symbol{name: "comma", format: ","}
Kaedah kedua ialah memindahkan pernyataan tugasan ke fungsiinit
:
func init() { Comma.Name = "Comma" Comma.Format = "," }
init
Fungsi dilaksanakan secara automatik apabila pakej dimulakan.
Atas ialah kandungan terperinci permulaan struktur global golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!