2017-02-04 7 views
0

私はゴランを学んでいます。私の最初の仕事では、簡単なウェブサイトを構築し始めました。問題は、いくつかのグローバルを利用できるようにする必要があることです。コンテクストを使用してこれらのグローバルを送信するのは賢明ではないということを学びました。したがって、main()に必要な変数でいっぱいになるパッケージを作ることを考えました。私は他のプロジェクトでこの解決法を見ていないので、これが間違っているかどうか尋ねていますか?設定パッケージの 簡単な例:パッケージをグローバル変数のストアとして使用する

package config 
var DB *sql.DB 

メイン:

package main 
import "project/config" 
func main() { 
config.DB, err = sql.Open("postgres", conn) 
if err != nil { 
    panic(err) 
} 
} 

その後、私はちょうど設定パッケージをインポートして、私は必要な場所の変数になるだろう。

答えて

1

この方法では何も問題ありません。また、main()の代わりにinit()関数を使用して、グローバル変数を初期化することもできます。

0

実際、これは非常に素晴らしい解決策です。