Page tree
Skip to end of metadata
Go to start of metadata

Quickstart

Go IDE



Workarounds
JetbrainsGoLand
for

“compile” can’t be opened because Apple cannot check it for malicious software.


https://github.com/golang/go/issues/34986
JetbrainsIntelliJ



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

  • No labels