入门
hello world
我们先从最简单的 hello,world 开始
1 | package main |
go语言最开头一定是package来声明,它类似于Python中的模块.用来声明该文件是属于哪个包,比如后面的import,则导入了 fmt 包
其中,名为main的包有些特殊,它是程序的主入口。
其中Go原生支持Unicode
命令行参数
使用了OS包,获取方式为os.Args
os.Args 是一个字符串slice, 暂时可以理解它为一个动态容量的顺序数组。
和其他语言一样,比如Python, os.Args 的第一个元素是 os.Args[0],它是命令的本身名字,后续的位置则是参数
1 | package main |
打印结果
1 | go run 1.2命令行参数.go 124 41245 5123 啦啦 |
go 语言使用 var 来声明变量, 并且初始为空
在go中,只有一个循环语句。
for循环
1 | for init; condition; post { |
init 部分在循环开始前执行, condition(条件)是一个布尔表达式,如果条件为真,则循环继续执行,如果为假则退出循环, post部分是循环体结束以后被执行。
相较于传统的While循环,go当中的循环也可以省略 init 和 post,部分来充当while循环
如:
1 | // while循环 |
1 | // 类似Python的while True |
另一种for循环的用法,遍历slice数据
1 | package main |
使用更高级的方法,使用strings.Join方法
1 | func main() { |
练习:
修改echo程序,输出 os.Args[0], 即命令的名字
1
2
3func main() {
fmt.Println(os.Args[0])
}修改echo程序, 输出参数的索引和值, 每行一个
1
2
3
4
5func main() {
for index, i := range os.Args[1:] {
fmt.Println(index, i)
}
}