第一章 入门
1.1 Hello, World
package main
import "fmt"
func main() {
fmt.Println("Hello,世界")
}
命令执行:go run helloworld.go
go build helloworld.go:生成一个可执行文件 helloworld.exe,输入'./helloworld' 即可执行
main包:它定义了一个独立可执行的程序,而不是一个库。main包里的main函数是整个程序执行时的入口。
Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。但是实际上,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响Go代码的正确解析。例如:函数的左括号
{必须func函数声明在同一行上,且位于末尾,不能独占一行;在表达式x + y中,可以在x后换行,不能在+前换行(以+结尾不会被插入分号)
go get golang.org/x/tools/cmd/goimports:可以根据代码需要,自动地添加或删除import声明
1.2 命令行参数
1、大多数的程序都是处理输入,产生输出;这也正是“计算”的定义。
2、os包以跨平台的方式,提供了一些与操作系统交互的函数和变量。程序的命令行参数可从os包的Args变量获取;os包外部使用os.Args访问该变量。
3、os.Args变量是一个字符串(string)的切片(slice)。
4、os.Args的第一个元素:os.Args[0],是命令本身的名字;其它的元素则是程序启动时传给它的参数。
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args[0])
// 隐式地赋予 空字符串 ""
var s, sep string
for i := 0; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Println(len(os.Args))
fmt.Println(s)
}
输出:
A:\GoProject\Go语言圣经\exefile\go_build_main_go.exe
1
A:\GoProject\Go语言圣经\exefile\go_build_main_go.exe