代码结构以下: 编程
calc/ 函数
└── src=====================calc.go========================== ui
package main //定义成main包go才会执行里面的main函数 import ( "fmt" "os" "strconv" "mymath" ) var Usage = func(){ fmt.Println("Usage: calc commond args"); } func main(){ //读取参数 args := os.Args; fmt.Printf("args:%s\n", args) if args == nil || len(args) < 2 { Usage() return } switch args[1] { case "add" : x, err := strconv.Atoi(args[2]); y, err := strconv.Atoi(args[3]); var addRet = mymath.Add(x, y); fmt.Printf("add:%d, err:%s\n", addRet, err); return case "sqrt" : i, err := strconv.Atoi(args[2]); var sqrtRet = mymath.Sqrt(i); fmt.Printf("sqrt:%f, err:%s\n", sqrtRet, err); return } }==================== add.go=======================
package mymath func Add (x int, y int) int { return x+y }==================== sqrt.go =======================
package mymath import "math" func Sqrt (x int) float64 { sqrt := math.Sqrt(float64(x)) return sqrt }
编译: spa
$ GOPATH=`pwd` go build src/calc/calc.go code
运行: it
gaojie@Joy:/media/gaojie/Linux/Go/workspace/calc$ ./calc add 5 7
args:[./calc add 5 7]
add:12, err:%!s(<nil>)
gaojie@Joy:/media/gaojie/Linux/Go/workspace/calc$ ./calc sqrt 15
args:[./calc sqrt 15]
sqrt:3.872983, err:%!s(<nil>) 编译
参考:《Go语言编程》高清完整版电子书 class