main()方法的应用
获取命令行参数 os.Args
main() 方法退出执行 os.Exit
import (
"fmt"
"os"
)
func main() {
//获取命令行参数
var arg = os.Args
fmt.Println(arg) //[C:\Users\mm\AppData\Local\Temp\go-build001296202\b001\exe\main.exe chao]
fmt.Println(arg[1])//chao
fmt.Println("hello world")
os.Exit(0)//main方法退出
}
测试程序
源文件以_test 结尾:xxx_test.go
测试方法名以Test开头:func TestName(t *testing.T){…}
import "testing"
func TestInt(t *testing.T) {
t.Log("测试中...int")
}
func TestString(t *testing.T) {
t.Log("测试中...string")
}
命令行运行
- go test -v -run=TestInt demo_test.go //测试执行TestInt 方法
- go test -v -run=TestString demo_test.go //测试执行TestString方法
- go test -v demo_test.go //测试执行demo_test.go文件中的所有方法
斐波那契数列
import (
"fmt"
"testing"
)
var a = 1
var b = 1
var sum = 0
func TestFib(t *testing.T) {
t.Log("测试中...")
//斐波那契数列
fmt.Println(a)
Fib(5) // 1 1 2 3 5 8-
}
func Fib(n int) {
for i := 1; i <= n; i++ {
if i == 1 {
fmt.Println(b)
} else {
sum = a + b
fmt.Println(sum)
a = b
b = sum
}
}
}
golang 对数据类型转换比较严格,不支持隐式数据转换,只能显示转换。