Skip to content

Instantly share code, notes, and snippets.

@arkein
Created July 12, 2013 08:07
Show Gist options
  • Save arkein/5982708 to your computer and use it in GitHub Desktop.
Save arkein/5982708 to your computer and use it in GitHub Desktop.
Beautiful way to create a singleton in Go
package singleton
var Instance *_Singleton
type _Singleton struct {
SharedResource int
}
func _Load() {
Instance = &_Singleton{SharedResource: 1}
}
func init() {
_Load()
}
package main
import (
"fmt"
"singleton"
)
func main() {
fmt.Println(singleton.Instance.SharedResource)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment