Go言語でgoroutineを利用したstructの要素更新
go言語の並列処理(並行処理?)を利用して遅延更新のようなことは可能でしょうか?当方goroutine初心者です。
やりたいことは以下です
- ある関数の中でSampleObjectという構造体を返す
- SampleObjectの中身は後の処理で確定するのでそれまで設定しない
- SampleObjectを作った関数とは全然別の関数、スコープで中身を更新する
擬似コード的に書いてますので間違いあればご指摘ください。
// SampleObject内に受信用のchannelを設定して関数の外でSampleObjectの中身を更新する
func UpdateStructLater() SampleObject {
return &SampleObject{make(chan, string)}
}
sObj := UpdateStructLater()
someSuperProcedure()
// sObj == "Hello" みたいな