Muéstrame un ejemplo de implementación del patrón Singleton en lenguaje de programación Golang
Aquí hay un ejemplo de código que implementa el patrón Singleton en Golang:

package main

import (
	fmt
	sync
)

type Singleton struct{}

var instance *Singleton
var once sync.Once

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

func main() {
	s1 := GetInstance()
	s2 := GetInstance()
	if s1 == s2 {
		fmt.Println(Both instances are the same)
	} else {
		fmt.Println(Instances are different)
	}
}

En este ejemplo, se crea una estructura Singleton y se define una variable global instance para almacenar una única instancia de la estructura. La función GetInstance es responsable de devolver la única instancia de la estructura. La variable once es un objeto sync.Once que se usa para asegurar que la función GetInstance se ejecute solo una vez y se inicialice la variable instance solo una vez. En la función main, se llama a GetInstance dos veces y se comprueba si ambas llamadas devuelven la misma instancia.