體驗go語言的風騷式程式設計
阿新 • • 發佈:2018-12-14
func formapTest() { var arrayi= [...] int{1, 2, 3, 4, 5, 6, 7, 78, 9, 10} for index, c := range arrayi { fmt.Printf("array[%d] = %d", index, c) } str := "go語言的學習和啪啪" for i, ch := range str { fmt.Println(i, ch) //ch的型別為rune unicode編碼 } //輸出為:28907 (Unicode編碼時,兩個位元組代表一個字元) n := len(str) for i := 0; i < n; i++ { ch := str[i] // 依據下標取字串中的字元,型別為byte fmt.Println(i, ch) //輸出為utf-8編碼,一個漢字字元佔三個位元組 } array := []rune(str) n = len(array) for i := 0; i < n; i++ { ch := array[i] // 依據下標取字串中的字元,型別為byte fmt.Println(i, ch) //unicode 編碼轉十進位制輸出 //golang中字元型別的實際資料型別為uint32,以for迴圈遍歷的方式輸出結果都是Unicode編碼的 } //var str string= "yyh,hello,卡卡論壇,好厲害哦" //fmt.Print(str) fmt.Print("\n================================\n") for i , ch := range str{ //fmt.Printf("(%d, %c)",i,ch) fmt.Printf("(%d, %x)",i,ch) } fmt.Print(utf8.RuneCountInString(str)) fmt.Print("================================\n") bytes := [] byte(str) //for len(bytes) > 0 { r, size := utf8.DecodeRune(bytes) fmt.Printf("%c %d",r,size) //} fmt.Println() fmt.Println() fmt.Println() for i,c := range bytes{ r,_ :=utf8.DecodeRune(bytes) fmt.Printf("%d %c %x \n",i,r,c) } for i ,ch := range []rune(str){ fmt.Printf("%d: %c ",i,ch) } str2 := "123 我按時 的發ad fg票 是否 adfg 發 發生a f發 的sj df" sps := strings.Split(str2," ") sps = strings.Fields(str2) var isContact = strings.Contains(str2,"你們") fmt.Println(sps) fmt.Println(isContact) }