The primary goal of Go is to combine the security and efficiency of a static language with the ease of development of a dynamic language

Type safe, memory safe, pointer operations are not allowed, although Pointers exist

The Go language has no concept of classes or inheritance and implements polymorphism through interfaces

Lack of features

  • Function overloading is not supported. Operator overloading is not supported
  • Type implicit conversion is not supported
  • Abandon classes and inheritance and take a different approach to object-oriented design
  • Generics are not supported
  • Replace try-catch with panic-recover
  • Static variables are not supported

The environment variable

  • $GOROOT: Indicates where Go is installed on the computer
  • $GOARCH: indicates the processor architecture of the machine
  • $GOOS: indicates the operating system of the machine
  • $GOBIN: indicates where the table is installed with the linker. The default is $GOROOT/bin
  • $GOPATH: The default value is the same as $GOROOT, but must be changed to a different path starting with Go1.1. This path must contain three specified directories: SRC, PKG, and bin, which are used to store source files, package files, and executable files, respectively

Go runtime

  • Similar to the JVM
    1. Responsible for memory allocation, garbage collection, slicing, reflection, and so on
    2. Marked – Clear, garbage collector
  • Written in C language
  • Stored in the $GOROOT/ SRC/Runtime directory

Recommended introductory tutorial: github.com/Unknwon/the…