Go 言語の init メソッドは、プログラムの実行時に初期化操作を実行するために使用される特別な関数です。この記事では、initメソッドの特徴や使い方など、関連知識を紹介します。
1. init メソッドの特徴
var ( a int b bool ) func init() { a = 10 b = true }
import ( "database/sql" "github.com/go-sql-driver/mysql" ) func init() { sql.Register("mysql", &mysql.MySQLDriver{}) }
上記のコードでは、次のようにします。登録する sql.Register メソッド mysql ドライバーがインストールされ、プログラムで mysql データベースを使用できるようになります。
設定ファイルをロードするvar config *Config type Config struct { Address string Port int } func init() { file, err := os.Open("config.json") if err != nil { panic(err) } decoder := json.NewDecoder(file) err = decoder.Decode(&config) if err != nil { panic(err) } }
上記のコードでは、init メソッドが config.json ファイルをロードし、そのファイル内のパラメータを解析して config 変数に入れます。
HTTP ルーティングの登録func init() { http.HandleFunc("/index", handleIndex) } func handleIndex(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello, world!")) }
上記のコード、init このメソッドは、処理関数 handleIndex をルート /index に登録します。
ロガーの初期化var logger *log.Logger func init() { file, err := os.Create("app.log") if err != nil { panic(err) } logger = log.New(file, "", log.LstdFlags) }
上記のコードでは、init メソッドがロガーを作成し、ログを app.log ファイルに出力し、ログの前にタイムスタンプを追加します。
3. まとめ
この記事ではGo言語のinitメソッドについて特徴や使い方などを含めて紹介します。 init メソッドの存在により、プログラム実行時の初期化操作がよりシンプルかつ柔軟になり、プログラムの作成と保守が容易になります。したがって、Go 言語プログラム開発者にとって、init メソッドの使用に習熟することは非常に重要です。
以上がgolang の初期化メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。