目录结构:
calc.go
package main
import (
"fmt"
"os"
"simplemath"
"strconv"
)
var Usage = func() {
fmt.Println("USAGE: calc command ....")
fmt.Println("\n The commands are")
}
func main() {
args := os.Args
if args == nil || len(args) < 2 {
Usage()
return
}
switch args[1] {
case "add":
// if len(args) != 3 {
// fmt.Println("add")
// return
// }
v1, err1 := strconv.Atoi(args[2])
v2, err2 := strconv.Atoi(args[3])
if err1 != nil || err2 != nil {
fmt.Println("ADDQ")
return
}
ret := simplemath.Add(v1, v2)
fmt.Println("Result:", ret)
default:
//fmt.Println(args[1])
}
}
add.go
package simplemath
func Add(a int, b int) int {
return a + b
}
add_test.go
package simplemath
import "testing"
func TestAdd1(t *testing.T) {
r := Add(1, 2)
if r != 3 {
t.Errorf("Add(1, 2) failed. Got %d, expected 3.", r)
}
}