聲明一個整型變量i var i int
數組
聲明一個含有10個元素的整型數組a var a [10]int
app
聲明一個整型數組切片a var s []int
函數
聲明一個整型指針變量p var p *int
測試
聲明一個key爲字符串型value爲整型的map變量m var m map[string]int
spa
聲明一個入參和返回值均爲整數的函數變量f var f func(a int) int
指針
聲明一個用於讀取int數據的單向channel變量ch var ch <-chan int
code
假設源文件命名爲slice.go,則測試文件命名爲 slice_test.go
three
go test要求測試函數的前綴必須命名爲 Test
字符串
下面的程序的運行結果是string
for i := 0;i < 5; i++ { defer fmt.Print("%d", i) }
43210
下面的程序的運行結果是
func main() { x := 1 { x := 2 fmt.Print(x) } fmt.Println(x) }
21
下面的程序的運行結果是
func main() { strs := []string{"one","two","three"} for _, s := range strs { go func() { time.Sleep(1 * time.Second) fmt.Printf("%s", s) }() } time.Sleep(3 * time.Second) }
three three three
下面的程序的運行結果是
func main() { x := []string{"a","b","c"} for _, v := range x { fmt.Print(v) } }
abc
下面的程序的運行結果是
func main() { i := 1 j := 2 i, j = j, i fmt.Printf("%d, %d\n", i, j) }
21
下面的程序的運行結果是
func incr(p *int) { *p++ return *p } func main() { v := 1 incf(*v) fmt.Println(v) }
2
啓動一個goroutine的關鍵字是 go
下面的程序的運行結果是
type Slice []int func NewSlice() Slice { return make(Slice, 0) } func (s *Slice) Add(elem int) *Slice { *s = append(*s, elem) fmt.Print(elem) return s } func main() { s := NewSlice() defer s.Add(1).Add(2) s.Add(3) }
132