Go is designed to work when your code is inside a workspace. The workspace is a folder composed of
src subfolders. In short, create a
go folder with a
src subfolder wherever you expect to put your projects. The workspace defined by
$GOPATH. Simply set
export GOPATH=~/gocode to set the workspace root at
Go is a compiled language. It is compiled to assembly language.
go build compiles the code, but throws away the output. To make your package accessible to the workspace, you need to use
go install to generate a package file in
pkg/ folder under the workspace.
go install compiles source code within a
src folder and generate an executable in
go run is a handy command that compiles and runs your code.
In Go, the entry point to a program has to be a function called
main within a package
go fmt command formats your code using Go’s authoritative formatting rules. When you’re inside a project, you can apply the formatting rule to it and all sub-projects via
go fmt ./...
Go provides C-style
/* */ block comments and C++-style
// line comments. Line comments are the norm; block comments appear mostly as package comments, but are useful within an expression or to disable large swaths of code.
godoc processes Go source files to extract documentation about the contents of the package. Comments that appear before top-level declarations, with no intervening newlines, are extracted along with the declaration to serve as explanatory text for the item. The nature and style of these comments determines the quality of the documentation
Go’s unit test lives in the package directory and ends in
_test.go. Tests will be part of the source package, but it won’t be built into the package. When we run
go test, Go compiles everything in the package and synthesize all test functions that begins with