wiki/dev/lang/go/general.md

653 B

summary

  • imperative language.
  • statically typed.
  • syntax similar to Java/C/C++, but less parentheses and no semicolons.
  • compiles to native code (no JVM).
  • no classes, but structs with methods.
  • interfaces.
  • no implementation inheritance. there's type embedding, though.
  • functions are first class citizens.
  • functions can return multiple values.
  • has closures.
  • pointers, but not pointer arithmetic.
  • built-in concurrency primitives: Goroutines and Channels.

details

  • uppercase names mean public access, lowercase mean private access.
  • the package in src/encoding/base64 is imported as encoding/base64 but has name base64.