001_Go hello world
一、go获取程序参数及指针地址示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args); if len(os.Args) > 1{ fmt.Println( "Hi" , os.Args[1]) } else { fmt.Println( "Hello world" ) os.Exit(3) } fmt.Println(*foo()) } func foo() *string{ s := "Hello arun" return &s } /* Hi ggg Hello arun */ |
(1)go run helloworld.go
(2)go build helloworld.go && ./hellowold
注意事项:main函数没有参数和返回值
1 2 3 4 5 6 7 8 9 10 11 12 | package main import ( "fmt" "os" ) //func main() int { //func main must have no arguments and no return values func main() { //func main must have no arguments and no return values fmt.Println( "Hello arun!" ) //return 1 os.Exit(-1) } |
二、编写测试go测试程序
1.源码文件以_test结尾: xxx_test.go
2.测试方法名以Test开头: func TestXXX(t *testing.T) {...}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package fib import ( "fmt" "testing" ) func TestFibonacciCreation(t *testing.T) { //t.Log("Log print") /* var a int =1 var b = 1 var n int = 5*/ /* var ( a int = 1 b = 1 //自动类型推断 n int = 5 )*/ var a, b , n= 1, 1, 5 fmt.Print(a) for i :=0; /*短变量声明 := */ i< n; i++{ fmt.Print( " " , b) tmp := a a = b b = tmp + b } fmt.Println() } /* === RUN TestFibonacciCreation 1 1 2 3 5 8 --- PASS: TestFibonacciCreation (0.00s) PASS */ |
09:04
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步