Go の関数本体外の非宣言ステートメント
Go では、非宣言を使用して関数の外で変数を宣言することはできません声明。このエラーは、次の例に示すように、宣言されていない変数に値を代入しようとすると発生します。
test := "This is a test." func main() { fmt.Println(test) test = "Another value" fmt.Println(test) }
Solution
グローバルに宣言するには- Go でアクセス可能な変数を使用するには、main 関数の外で var キーワードを使用します。変数名は、パッケージプライベート (パッケージ内でのみアクセス可能) にするために小文字で始まる必要があります。
var test = "This is a test"
このメソッドを使用すると、関数の外で変数を宣言し、関数内でその値を変更できます。同じパッケージ内にあります。
追加情報
サンプル コード
パッケージ プライベート変数を使用してその値を変更する方法の例を次に示します。
package apitest import ( "fmt" ) var sessionID string func main() { fmt.Println(sessionID) updateSessionID() fmt.Println(sessionID) } func updateSessionID() { sessionID = "NEW_SESSION_ID" }
この例では、セッション ID変数には、apitest パッケージ内のどこからでもアクセスできます。これは main 関数で空の文字列に初期化され、updateSessionID 関数内で更新されます。
以上がGo で関数の外の変数に値を代入できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。