Benutzer-Werkzeuge

Webseiten-Werkzeuge


becki:linux:golang

Dies ist eine alte Version des Dokuments!


Go Programming Language Tips

Setup

Download Go source:

cd /usr/local
hg clone -r release https://go.googlecode.com/hg/ go

Build Toolchain:

cd go/src
./all.bash

Add Go tools to PATH by creating /etc/profile.de/go.sh:

#!/bin/sh
export PATH="$PATH:/usr/local/go/bin"

Go Syntax Highlighting for your editor at http://go-lang.cat-v.org/text-editors/

Hello World

package main
import "fmt"
 
func main() {
    fmt.Printf("Hallo Süße!\n")
}

Build & run: 8g hello.go && 8l -o hello hello.8 && ./hello

For Printf see pkg/fmt/

Variable Declaration

package main
import "fmt"
func main() {
    var i,j int                         // 2 ints, autoinitialized to zero value
    fmt.Printf("%d %d\n", i, j)         // 0 0
 
    var k,l,m,n= true, 0, 2.6, "Hello"  // missing types default to:
    fmt.Printf("%T %T %T %T\n", k,l,m,n)// -> bool int float64 string
    fmt.Printf("%v %v %v %v\n", k,l,m,n)// -> true 0 2.6 Hello
    fmt.Println(k,l,m,n)                // -> true 0 2.6 Hello
 
    o,p:= false, "World"                // short form: no type but initializers:
    fmt.Printf("%T %T\n", o,p)          // -> bool string
    fmt.Println(o,p)                    // -> false World
}

more

Arrays and Slices

package main
import "fmt"
func main() {
    //var ia= [...]int{47,11}           // Create an array literal
    ia:= [...]int{47,11}                // Create an array literal - short form
 
    for i, v := range ia {              // Loop through an array
        fmt.Printf("%d %d\n", i, v)
    }
 
    var ib [2]int                       // Create array with ZEROED elements
    for _, v := range ib {              // '_' means key not used
        fmt.Printf("%d ", v)            // -> 0 0
    }
    fmt.Printf("\n")
}

http://blog.golang.org/2011/01/go-slices-usage-and-internals.html

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
becki/linux/golang.1297773914.txt.gz · Zuletzt geändert: 2011-02-15 12:45 von becki

Impressum - Datenschutzerklärung