The rule is that public functions, types, etc., should be upper case.
Variable
package main import "fmt" func main(){ var msg string msg = "hello world" fmt.Println(msg) msg := "hello world" fmt.Println(msg) a, b:= 10, 15 }
基本データ型
package main import "fmt" func main(){ a := 10 b := 12.3 c := "hoge" var d bool fmt.Printf("a: %d, b:%f, c:%s, d:%t\n", a, b, c, d) }
const, iota: https://github.com/golang/go/wiki/Iota
package main import "fmt" func main(){ // const name = "yoshida" // name = "tanaka" const ( sun = iota mon tue ) fmt.Println(sun, mon, tue) }
pointer
package main import "fmt" func main(){ a := 5 var pa *int pa = &a // a address fmt.Println(pa) fmt.Println(*pa) }
function
package main import "fmt" func hi(name string) string{ msg := "hi!" + name return msg } func main(){ fmt.Println(hi("tanaka")) }
swap
package main import "fmt" func swap(a, b int)(int, int){ return b, a } func main(){ fmt.Println(swap(5, 2)) }
array
a := [...]int{1, 3, 5} a := [5]int{1, 3, 5, 8, 9} s := a[2:4] fmt.Println(s) fmt.Println(len(s)) fmt.Println(cap(s)) s := []int{1, 3, 5} s = append(s, 8, 2, 10) t := make([]int, len(s)) n := copy(t, s)
map
m := make(map[string]int) m["tanaka"] = 200 m["sato"] = 300 fmt.Println(m)
if
score := 83 if score > 80 { fmt.Println("great") } else { fmt.Println("soso") }
range
s := []int{2, 3, 8} for i, v := range s{ fmt.Println(i, v)
構造体
type user struct { name string score int } func main(){ u := new(user) u.name = "tanaka" fmt.Println(u) }
go routine
package main import ( "fmt" "time" ) func task1(){ time.Sleep(time.Second * 2) fmt.Println("task1 finished!") } func task2(){ fmt.Println("task2 finished!") } func main(){ go task1() go task2() time.Sleep(time.Second * 3) }