開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
Head First Go (Jay McGavren(著)、O'Reilly Media)のChapter 3(call me - Functions)、Exercise(89)の解答を求めてみる。
コード
sample1_test.go
package main
import "testing"
func TestFunctionInt(t *testing.T) {
gots := []int{
functionA(2, 3),
functionB(2, 3),
functionA(5, 6),
functionB(5, 6),
}
wants := []int{5, 6, 11, 30}
for i, got := range gots {
want := wants[i]
if got != want {
t.Errorf("got: %d, want: %d", got, want)
}
}
}
func TestFunctionBool(t *testing.T) {
gots := []bool{
functionC(true),
functionC(false),
}
wants := []bool{false, true}
for i, got := range gots {
want := wants[i]
if got != want {
t.Errorf("got: %v, want: %v", got, want)
}
}
}
sample1.go
package main
import "fmt"
func functionA(a int, b int) int {
return a + b
}
func functionB(a int, b int) int {
return a * b
}
func functionC(a bool) bool {
return !a
}
func functionD(a string, b int) {
for i := 0; i < b; i++ {
fmt.Print(a)
}
fmt.Println()
}
func main() {
// $$$$
functionD("$", 4)
// hahaha
functionD("ha", 3)
}
入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal)
$ go test PASS ok _/.../sample1 0.005s $ go run sample1.go $$$$ hahaha $
0 コメント:
コメントを投稿