《go語言聖經》練習答案 1 2 命令列引數

2022-10-05 04:57:11 字數 1830 閱讀 7561

練習 1.1:修改echo程式,使其能夠列印os.args[0],即被執行命令本身的名字。

package main

import (

"fmt"

"os"

)func main()

fmt.println(s)

}

練習 1.2:修改echo程式,使其列印每個引數的索引和值,每個一行。

package main

import (

"fmt"

"os"

)func main()

}

練習 1.3:做實驗測量潛在低效的版本和使用了strings.join的版本的執行時間差異。(1.6節講解了部分time包,11.4節展示了如何寫標準測試程式,以得到系統性的效能評測。)

使用基準測試

test.go

package main

import (

"fmt"

"strings"

)func stringjoin() string

result := strings.join(input, " ")

return result

}func stringplus() string

var result, sep string

for _, j := range input

return result

}func main()

t_test.go

package main

import (

"testing"

)func benchmarkstring2join(b *testing.b)

}func benchmarkstring2plus(b *testing.b)

}

執行結果

goos: windows

goarch: amd64

pkg: hello

cpu: 11th gen intel(r) core(tm) i7-11800h @ 2.30ghz

benchmarkstring2join

benchmarkstring2join-16 40078419 30.53 ns/op

benchmarkstring2plus

benchmarkstring2plus-16 17557642 66.40 ns/op

pass

使用 time 包
package main

import (

"fmt"

"strings"

"time"

)func timecost() func()

}func stringjoin() string

result := strings.join(input, " ")

return result

}func stringplus() string

var result, sep string

for _, j := range input

return result

}func main()

go語言聖經練習

練習 3.10 編寫乙個非遞迴版本的comma函式,使用bytes.buffer代替字串鏈結操作。package main import fmt os bytes func main func comma s string string return buf.string view code 練習 ...

Go語言 flag Go的命令列引數 命令列處理

1.命令列引數 命令列引數是指定程式執行引數的乙個常見方式。例如,go run hello.go,程式 go 使用了 run 和 hello.go 兩個引數。package main import os import fmt func main 要實驗命令列引數,最好先使用 go build 編譯乙...

Go語言 獲取命令列引數

部署golang專案時難免要通過命令列來設定一些引數,那麼在golang中如何操作命令行引數呢?可以使用flag庫和os庫。1.flag庫的使用 go語言標準庫提供了用於快迅解析命令列引數的flag包,大致的使用步驟如下 a.通過flag.string flag.bool flag.int 等方式來...