Goと使っていると初期化以前にnil判定をするとエラーが出てしまいます。

//Error
var a Object
if a == nil{

}

そこで質問なのですが、初回参照時のみ初期化してあとはそのオブジェクトを使いまわすような変数を扱うとき、どのように初回参照を検出すればいいのでしょうか。
1つ考えられたのはフラグを使って、初回参照のの初期化時にそのフラグを立て、次の参照時にはそのフラグを確認して立っていれば初期化せずにそのまま返す。

var(
    a Object
    flag bool
)

if flag == true{
    return a
}else{
    a = Object{}
    flag = true
    return a
}

このやり方以外になにかいい方法はありますか。