日常 Go語言聖經 Map習題

2021-09-07 17:49:15 字數 1256 閱讀 2910

練習 4.8: 修改charcount程式,使用unicode.isletter等相關的函式,統計字母、數字等unicode中不同的字元類別。

練習 4.9: 編寫乙個程式wordfreq程式,報告輸入文字中每個單詞出現的頻率。在第一次呼叫scan前先呼叫input.split(bufio.scanwords)函式,這樣可以按單詞而不是按行輸入。

// charcount computes counts of unicode characters.

package main

import (

"bufio"

"fmt"

"io"

"os"

"unicode"

"unicode/utf8"

)func main()

if err != nil

if r == unicode.replacementchar && n == 1

/**/

//判斷是字母

if unicode.isletter(r)

//判斷是數字

if unicode.isnumber(r)

//counts[r]++

utflen[n]++

}fmt.printf("rune\tcount\n")

for c, n := range letters

fmt.printf("rune(number)\tcount\n")

for c, n := range numbers

fmt.print("\nlen\tcount\n")

for i, n := range utflen

}if invalid > 0

}

package main

import (

"bufio"

"fmt"

//"io"

"os"

//"unicode"

//"unicode/utf8"

)func main()

for k,v :=range counts }/*

練習 4.9: 編寫乙個程式wordfreq程式,報告輸入文字中每個單詞出現的頻率。在第一次呼叫scan前先呼叫input.split(bufio.scanwords)函式,這樣可以按單詞而不是按行輸入。

日常 Go語言聖經 匿名函式習題

go語言聖經 匿名函式 1.擁有函式名的函式只能在包級語法塊中被宣告,通過函式字面量 function literal 我們可繞過這一限制,在任何表示式中表示乙個函式值 2.通過這種方式定義的函式可以訪問完整的詞法環境 lexical environment 這意味著在函式中定義的內部函式可以引用該...

日常 Go語言聖經 競爭條件習題

package main import fmt sync var balance int func deposit amount int func balance int 問題 1.在alice執行期間 balance balance amount 這一步運算可能會被bob中間擠占 2.當執行到ba...

日常 Go語言聖經 Slice切片習題

1.slice 切片 代表變長的序列,序列中每個元素都有相同的型別,乙個slice型別一般寫作t,其中t代表slice中元素的型別 slice的語法和陣列很像,只是沒有固定長度而已,slice的底層確實引用乙個陣列物件 2.內建的len和cap函式分別返回slice的長度和容量 3.s i j 從第...