Skip to content

Instantly share code, notes, and snippets.

@meeas
Last active April 19, 2020 03:42
Show Gist options
  • Save meeas/0a49e6ac1b60f2f1fed53819befe4834 to your computer and use it in GitHub Desktop.
Save meeas/0a49e6ac1b60f2f1fed53819befe4834 to your computer and use it in GitHub Desktop.
Golang Package Notes
Web
  • net/http has basic http2 support

  • net/http2 is newer implimentation of http2

  • github.com/lucas-clemente/quic-go is the most mature HTTP3 library in go

CLI Parameter Parsing
  • flags is the builtin

  • kingpin is supports subcommands and is architecturally sound

  • cobra and urfave/cli both enforce a globals-heavy and architecturally questionable

Line editor and completer
  • github.com/peterh/liner is used in Gore

  • github.com/c-bata/go-prompt

Logging
  • logrus

  • Zerolog

  • Zap

  • Apex

ICS Protocols
  • github.com/goburrow/modbus most mature client

  • github.com/tbrandon/mbserver most mature server

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment