业务代码被拆分为多个文件时，编译或运行就要带上那个文件（同包的情况）；如果需要调用其他包里的方法，需要先import进来代码示例：main.go文件package main import ( "fmt" "os" "strconv" "time" ) func main() { num,_ := strconv.ParseInt(os.Args[1], 10, 16) // 将命令行参数的第一个参数转为int类型 if IsOdd(int(num)) { fmt.Println("是奇数") } else{ fmt.Println("是偶数") } // 死循环, 类似while(1) count := 1 // 计数 for{ fmt.Printf("循环了 %d 次, 值到达20次停止.\n", count) count++ time.Sleep(time.Second) // 每秒循环一次, 如果想2秒或更久, 可以n * time.Second if count == 20{ break } } }unit.go文件package main // IsOdd 判断奇偶数 func IsOdd(num int) bool { return num%2!=0 }运行 go run main.go unit.go 【int参数】 编译 go build main.go unit.go运行编译后的文件 main.exe 【int参数】
本文章将记录学习go语言时相对其他语言不同的特性, 不出意外会持续更新空标识符 _ 的作用空标识符可用于在任何语法需要变量名但程序逻辑不需要的时候（如：在循环里）丢弃不需要的循环索引，并保留元素值fmt.Println("通过range遍历参数: ") for _, arg := range os.Args[0:]{ fmt.Printf(arg+"\n") } fmt.Println("保留索引的range遍历: ") for index, arg := range os.Args[0:]{ fmt.Printf("index: %d, arg: %s \n", index, arg) }自增或自减语句不能用于赋值, 如// 错误示例 j = i++这样是非法操作,不能编译通过;并且++ 和 -- 都必须放在变量后面, 因此 --i或++i 这样的操作也是非法的Go语言只有for循环这一种循环语句。没有while或者foreach的用法如果想实现类似while(1)的死循环,可以通过这种方式实现:// a traditional "while" loop for condition { // ... } // a traditional infinite loop for { // ... }终止死循环可以通过break或者return语句实现。