GO语言学习|青训营笔记

121 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第3篇笔记

圣经

章节
1.2命令行参数1. os包以跨平台的方式,提供了一些与操作系统交互的函数和变量。程序的命令行参数可从os包的Args变量获取;os包外部使用os.Args访问该变量。
2.os.Args的第一个元素:os.Args[0],是命令本身的名字;其它的元素则是程序启动时传给它的参数。
3.符号:=短变量声明(short variable declaration)的一部分,这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句
4.Go语言不允许使用无用的局部变量(local variables)
5. s := ""
var s string
var s = ""
var s string = ""
第三种形式用得很少,除非同时声明多个变量。第四种形式显式地标明变量的类型,当变量类型与初值类型相同时,类型冗余,但如果两者类型不同,变量类型就必须了。实践中一般使用前两种形式中的某个,初始值重要的话就显式地指定变量的类型,否则使用隐式初始化。
1.3查找重复行1.map的迭代顺序并不确定,从实践来看,该顺序随机,每次运行都会变化。这种设计是有意为之的,因为能防止程序依赖特定遍历顺序,而这是无法保证的。
2.input := bufio.NewScanner(os.Stdin)
Scanner类型读取输入并将其拆成行或单词。input从程序的标准输入(os.StdinosFile结构体的指针类型)中读取内容。每次调用input.Scan(),即读入下一行,并移除行末的换行符;读取的内容可以调用input.Text()得到。Scan函数在读到一行时返回true,不再有输入时返回false
3.以ln结尾的格式化函数,则遵循Println的方式,以跟%v差不多的方式格式化参数,并在最后添加一个换行符

持续更新······