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

相關文章
相關標籤/搜索