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

 

posted @   arun_python  阅读(65)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示