1.1 hello, world
helloworld.go
go
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
执行 go run helloworld.go
运行程序。
构建和执行.
bash
go build helloworld.go
./helloworld
1.2 命令行参数
变量 os.Args 是一个字符串 slice.
echo1.go
go
package main
import (
"fmt"
"os"
)
func main() {
var s, sep string
for i := 1; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Println(s)
}
变量如果在声明时没有初始化,它将隐式地初始化为这个类型的空值。例如,对于数字化初始化结果是0,对于字符串是空字符串 "".
for 是 Go 里面的唯一循环语句。有几种形式。
for initialization; condition; post {
// 零个或多个语句
}
// 传统的 "while" 循环
for condition {
//
}
// 传统的无限循环
for {
// ...
}
另一种形式的 for 循环在字符串或 slice 数据上迭代。
echo2.go
go
package main
import (
"fmt"
"os"
)
func main() {
s, sep := "", ""
for _, arg := range os.Args[1:] {
s += sep + arg
sep = " "
}
fmt.Println(s)
}
以下几种声明字符串变量的方式是等价的:
s := ""
var s string
var s = ""
var s string = ""
echo3.go
go
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(strings.Join(os.Args[1:], " "))
}