alnoda-workspaces/workspaces/go-workspace/removeme_docs/getting-started.md
2022-05-23 16:13:15 +00:00

2.9 KiB
Raw Blame History

Getting started

Intro

To start, open Quickstart page localhost:8020 for quick access to all the tools

From the quicklaunch page you can open workspace tools, such as code editor or terminal

Demo: Workspace UI

wid-ui.png

The main code editor of this workspace is Code-server

Demo: Code-server

Code-server demo

Workspace has full-size browser-base terminal

Base-Workspace terminal

Example: hello world

Check Go version

go version

Create new Go project

mkdir myProject/
cd myProject
go mod init myProject

Create file main.go

package main
import "fmt"
func main() {
  fmt.Println("Hello Go")
}

Then test it using the go run command

go run main.go 

Dependencies

Go Modules - Gos dependency management system that makes dependency version information explicit and easier to manage.

Create new Go project

mkdir simpleserver/
cd simpleserver
go mod init simpleserver

Adding a remote module as a dependency manually:

go get github.com/spf13/cobra@latest

Check go.mod file

cat go.mod

Create file main.go

package main
import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
                "message": "pong",
        })
    })
    r.Run() 
}

To add module requirements and sums execute

go mod tidy

Run, build and install

  • go run - to quickly test your go code and to check the output. But internally it compiles your code and builds an executable binary in a temporary location, launches that temp exe-file and finally cleans it when your app exits.
  • go build - compile and builds executable in current directory.
  • go build - will compile and move the executable to executable directory included in $PATH, so that you can run this executable from any path on the terminal.

Run the simple server with

export PORT=8030
go run main.go

Open in browser localhost:8030/ping

Build executable locally

go build

This will create an executable simpleserver in the same folder.

Build and move to executable folder

go install

Now you can execute anywhere in terminal

export PORT=8030
simpleserver

and the server will start