Go Calc 第一个例子

代码结构以下: 编程

calc/ 函数

└── src
    ├── calc
    │   └── calc.go
    ├── hello.go
    └── mymath
        ├── add.go
        └── sqrt.go

=====================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

相关文章
相关标签/搜索