Go lang

Débuter avec le langage Go

Go est un langage compilé

Installation du langage

1brew install golang

1er projet

1mkdir go-hello
2cd go-hello
3go mod init go-hello
4go get github.com/futzu/cuei@latest

créé les fichiers go.mod et go.sum

fichier cuiedemo.go

 1package main
 2
 3import (
 4    "os"
 5    "fmt"
 6    "github.com/futzu/cuei"
 7)
 8
 9func main() {
10    arg := os.Args[1]
11
12    stream := cuei.NewStream()
13    cues := stream.Decode(arg)
14    for _, cue := range cues {
15        fmt.Printf("Command is a %v\n", cue.Command.Name)
16    }
17}

Compilation

1$ go build cuiedemo.go
2$ ls -alh | grep cuiedemo$
3-rwxr-xr-x@  1 gus  staff   3,5M 14 aoû 20:53 cuiedemo

Compilation optimisée

1$ go build -ldflags="-s -w" cuiedemo.go
2$ ls -alh | grep cuiedemo$
3-rwxr-xr-x@  1 gus  staff   2,4M 14 aoû 20:57 cuiedemo

On gagne 30% de place pour le binaire.

Vérification des bibliothèques partagées utilisée

1% otool -L cuiedemo
2cuiedemo:
3	/usr/lib/libSystem.B.dylib (compatibility version 0.0.0, current version 0.0.0)
4	/usr/lib/libresolv.9.dylib (compatibility version 0.0.0, current version 0.0.0)
5	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 0.0.0, current version 0.0.0)
comments powered by Disqus