Skip to content

Instantly share code, notes, and snippets.

type Example struct {
ManualOverride1 string `envconfig:"manual_override_1"`
  DefaultVar string `default:"foobar"`
  RequiredVar string `required:"true"`
  IgnoredVar string `ignored:"true"`
  AutoSplitVar string `split_words:"true"`
  RequiredAndAutoSplitVar string `required:"true" split_words:"true"`
}
format := "Debug: %v\nPort: %d\nUser: %s\nRate: %f\nTimeout: %s\n"
 _, err = fmt.Printf(format, s.Debug, s.Port, s.User, s.Rate, s.Timeout)
if err != nil {
log.Fatal(err.Error())
}
fmt.Println("Users:")
 for _, u := range s.Users {
 fmt.Printf(" %s\n", u)
}
var spec Specification
err := envconfig.Process("myapp", &spec)
if err != nil {
log.Fatal(err.Error())
}
type Specification struct {
Debug bool
  Port int
  Users []string
  Rate float32
  Timeout time.Duration
  ColorCodes map[string]int
}
package kafka
type Consumer struct {
}
func NewConsumer() Consumer {
return Consumer{}
}
func (c Consumer) Consume() error {
package kafka
type Producer struct {
}
func NewProducer() Producer {
return Producer{}
}
func (p Producer) Produce(msg string) error {
package kafka
type Producer struct {
}
func NewProducer() Producer {
return Producer{}
}
func (p Producer) Produce(msg string) error {
package product
type Product struct {
}
func New() Product {
return Product{}
}
package cart
type Cart struct {
}
func New() *Cart {
return &Cart{}
}
type Product struct {
package cart
func (c *Cart) Add(p Product) error {
}