【从goroutine学习go】简单加法
示例代码
// demo/goroutine/basic_add.go
package main
import (
"fmt"
"os"
"strconv"
"time"
)
func add(a,b int) {
var c = a + b
fmt.Printf("%d + %d = %d\n", a, b, c)
}
func main() {
length := len(os.Args)
fmt.Printf("%v\n len=%d\n", os.Args, length)
for i := 1; i < length - 1; i++ {
a, errA := strconv.Atoi(os.Args[i])
b, errB := strconv.Atoi(os.Args[i+1])
if errA != nil || errB != nil {
fmt.Println(errA, errB)
}
go add(a, b)
}
time.Sleep(1e9)
}
语法点
- 获取命令行参数
os.Args
- 字符串类型转整型
strconv.Atoi(str)
- 直接输出数组
fmt.Printf("%v\n len=%d\n", os.Args, length)
fmt.Printf() 第一个参数的verb列表:
还包括:制表符“\t”, 换行符“\n”
- windows下的编译执行
go build -o main.exe basic_add.go
windows下编译成main.go程序,并输入数字参数进行累加:
每天积累一点点