Rumah >pembangunan bahagian belakang >Golang >permulaan struktur global golang

permulaan struktur global golang

WBOY
WBOYke hadapan
2024-02-12 09:33:081305semak imbas

permulaan struktur global golang

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.

Kandungan soalan

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?

Penyelesaian

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 menggunakan literal kompaun untuk memulakan nilai dalam perisytiharan pembolehubah.

var comma = symbol{name: "comma", format: ","}

Kaedah kedua ialah memindahkan pernyataan tugasan ke fungsi init:

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam