golang 新手練習 go語言 10分鐘練習貼
阿新 • • 發佈:2018-12-22
下面是golang的常見的入門程式碼 每天華10分鐘練習一邊 加強記憶 對於有c c++ 基礎的人 入門快 而且很快也可以做專案,但是忘記的也快,1個月不敲 竟然 處處是錯誤,也怪golang 語法有點奇葩,但是確實比C和C++ 好多了,我用的ide是 LITEIDE
package main import ( "fmt" "os" "strconv" "time" ) func show() { //... } func ss(x int) { //... } func kk(x int) int { return x + 10 } func ww(s1 string, s2 string) string { //有參函式 有返回值 return s1 + s2 } func gg() (int, string) { return 12, "derr" } const PI = 1000 type vt struct { //定義一個組合 x, y int } func (d vt) add() int { //為組合新增一個函式add return d.x + d.y } func (d vt) String() string { //為組合新增一個函式Sring return strconv.Itoa(d.x) + " " + strconv.Itoa(d.y) } func (d vt) div() int { // 為組合新增一個函式div return d.x / d.y } func dv(str string) { //有參函式 fmt.Println(str) } var exit chan int = make(chan int) // 定義一個管道 func test(t int) { //函式 exit <- t } func main() { //主函式 fmt.Println(PI) i := 0 for i < 100 { //for 迴圈 //... i++ } for k := 0; k < 100; k++ { //for 迴圈 //... } if 1 > 2 { //分支 //... } else { //... } d := 0 switch d { //switch case 10: //... break case 9: //.... break } hostname, err := os.Hostname() //得到OS fmt.Println(".....................") if err != nil { //分支 錯誤處理 fmt.Println(err) } else { fmt.Println(hostname) } mp := make(map[string]string) //map 鍵值對 mp["www"] = "dsfsdf" mp["ddd"] = "fgtryrt" fmt.Println(mp["www"]) var mm map[int]string = make(map[int]string) //var map 鍵值對 mm[1] = "dgdfg" mm[2] = "derrr" arr := []int{1, 2, 3, 4, 5, 6, 7} //陣列 for i := 0; i < len(arr); i++ { //輸出陣列 fmt.Println(i, arr[i]) } arr1 := []string{"234234", "fdgdfg"} //字串陣列 fmt.Println(arr1[0]) go func() { //協程 fmt.Println("hello world") }() kp := make(map[interface{}]interface{}) //map 一個通用 鍵值對 kp[1] = "sdfsd" kp[2] = 232 fmt.Println(kp) go dv("mmmmmmmmmm...") //協程 time.Sleep(1000) //和java 的thread.sleep 一樣 go test(9990) //協程 fmt.Println(<-exit) // 輸出管道 time.Sleep(2000) }