Quickstart
Go IDE
Workarounds | ||
---|---|---|
Jetbrains | GoLand | for “compile” can’t be opened because Apple cannot check it for malicious software. https://github.com/golang/go/issues/34986 |
Jetbrains | IntelliJ | |
OSX and Windows
On your mac - install https://golang.org/doc/install currently 1.15.5 (1.15.2 on kubernetes 1.19.3)
# restart your terminal to pick up the path PS C:\WINDOWS\system32> go version go version go1.13.6 windows/amd64 # write some code obrienlabs:wse_go michaelobrien$ vi hello.go package main import "fmt" func main() { fmt.Printf("hello world\n") } # compile it obrienlabs:wse_go michaelobrien$ go build hello.go obrienlabs:wse_go michaelobrien$ ./hello hello world
Update Go on OSX
check versions on https://golang.org/dl/
which gosudo rm -rf /usr/local/go curl -O https://golang.org/dl/go1.15.5.darwin-amd64.tar.gz tar -xvf go1.15.5.darwin-amd64.tar.gz sudo mv go /usr/local go version
GO on Docker
https://hub.docker.com/_/golang
Build your go file inside the docker image
biometric:wse_go $ docker build -t golang-app . Sending build context to Docker daemon 4.246MB Step 1/6 : FROM golang:1.13 1.8: Pulling from library/golang 4176fe04cefe: Pull complete 851356ecf618: Pull complete 6115379c7b49: Pull complete 69914558965c: Pull complete b108f9aa98db: Pull complete df7abcd2981e: Pull complete 3e60cb3f592b: Pull complete Digest: sha256:f0b5dab7581eddb49dabd1d1b9aa505ca3edcdf79a66395b5bfa4f3c036b49ef Status: Downloaded newer image for golang:1.13 ---> 0d283eb41a92 Step 2/6 : WORKDIR /go/src/app ---> Running in a507559be93a Removing intermediate container a507559be93a ---> 4b25297919dd Step 3/6 : COPY . . ---> c27681a4791e Step 4/6 : RUN go get -d -v ./... ---> Running in f48db41e9c33 Removing intermediate container f48db41e9c33 ---> d66e3d554a97 Step 5/6 : RUN go install -v ./... ---> Running in 9d12eee75491 app Removing intermediate container 9d12eee75491 ---> b2e598b8c581 Step 6/6 : CMD ["app"] ---> Running in ee7365f812b7 Removing intermediate container ee7365f812b7 ---> 479e75b4cd5e Successfully built 479e75b4cd5e Successfully tagged golang-app:latest biometric:wse_go $ docker run -it --rm --name my-golang-app golang-app hello world
Go on Kubernetes
Golang is used as one of the languages in writing Kubernetes Operators Kubernetes Developer Guide#KubernetesNativeApplications-KubernetesOperator