日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Go程序设计语言 练习题

發(fā)布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go程序设计语言 练习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

練習1.1:修改echo程序輸出os.Args[0],即命令的名字。

package mainimport ("fmt""os" )func main(){if len(os.Args) > 0 {fmt.Println(os.Args[0])} }

運行:go run main.go args args2

輸出:

/var/folders/w1/vvlknvm10l3b8391hzltdh0h0000gn/T/go-build287366431/b001/exe/main

練習1.2:修改echo程序,輸出參數的索引和值,每行一個。

package mainimport ("fmt""os" )func main(){for k,value := range os.Args{fmt.Println(k)fmt.Println(value)} }

運行:go run main.go args args2

輸出:

0
/var/folders/w1/vvlknvm10l3b8391hzltdh0h0000gn/T/go-build005548217/b001/exe/main
1
args=1
2
args2

練習1.3:嘗試測量可能低效的程序和使用strings.Join的程序在執(zhí)行時間上的差異。(1.6節(jié)有time包,11.4節(jié)展示如何撰寫系統(tǒng)性的性能評估測試。)

未做

練習1.4: 修改dup2程序,輸出出現重復行的文件的名稱。

package mainimport ("bufio""fmt""os""strings" )func main(){files := os.Args[1:]if len(files) == 0 {return}var result []stringfor _, arg := range files{f, err := os.Open(arg)if err != nil{fmt.Fprintf(os.Stderr, "dup2: %v\n", err)continue}counts := make(map[string]int)countLines(f, counts)f.Close()for _,v := range counts{if v > 1 {result = append(result,arg)break;}}}fmt.Println(strings.Join(result," ")) }func countLines(f *os.File, counts map[string]int){input := bufio.NewScanner(f)for input.Scan(){counts[input.Text()]++} }

$ go run main.go file1.txt file2.txt file3.txt
file1.txt file3.txt

?

?

總結

以上是生活随笔為你收集整理的Go程序设计语言 练习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。