GolangでSingletonパターンを実装する方法の例は次のとおりです。

パッケージメイン

輸入 （
「FMT」
「同期」
））

タイプシングルトンstruct {
int
}

varインスタンス *シングルトン
var Eleven sync.once

Fun Gretance（） *Singleton {
eleven.do（function（）{
instance =＆singleton {}
}）
インスタンスを返します
}

func main（）{
s：= getnstance（）
S.Count ++
fmt.println（ "count："、s.count）
}

この例では、Sync.once構造を使用して、Singletonオブジェクトの単一インスタンスが作成されるようにします。Eleven関数は1回だけ実行されます。つまり、GetOnstanceと呼ばれるのは初めて、Singletonの新しいインスタンスが作成されます。GetOnStanceへの追加の呼び出しは、上記で作成されたのと同じインスタンスを単に返すだけです。
Aquí hay un ejemplo de cómo implementar el patrón Singleton en Golang:

package main

import (
	"fmt"
	"sync"
)

type singleton struct {
	count int
}

var instance *singleton
var once sync.Once

func GetInstance() *singleton {
	once.Do(func() {
		instance = &singleton{}
	})
	return instance
}

func main() {
	s := GetInstance()
	s.count++
	fmt.Println("Count:", s.count)
}

En este ejemplo, se utiliza la estructura sync.Once para asegurar que se cree una única instancia del objeto singleton. La función once.Do se ejecuta solo una vez, lo que significa que la primera vez que se llame a GetInstance, se creará una nueva instancia de singleton. Cualquier llamada adicional a GetInstance simplemente devolverá la misma instancia creada anteriormente.