读书笔记之《Go程序设计语言》---第一章 入门

Hello World
在这里插入图片描述
知识点:

  • Go代码使用包来组织,包类似于其他语言中的库和模块
  • 每一个源文件的开始都是用package声明,指明这个文件属于哪个包
  • 你必须精确地导入需要的包,在缺失导入或存在不需要的包时,编译会失败
  • Go不需要再语句或声明后面使用分号结尾,跟在特定符号后面的换行符被转换为分号,“{”必须和关键字func在同一行,x+y这个表达式中,换行符可以出现在+的后面,但是不能出现在+的前面
  • 使用gofmt工具可以将代码以标准格式重写
  • 运行go可执行文件 go run helloworld.go
  • 构建go可执行文件 go build helloworld.go

命令行参数
知识点:

  • os包提供一些函数和变量,以与平台无关的方式和操作系统打交道,命令行参数以os包中Args名字的变量提供访问,在os包外面使用os.Args
  • go中,所有的索引使用半开区间,及包含第一个索引,不包含最后一个索引
  • 注释以//开头
  • 变量可以在声明的时候初始化,如果没有明确地初始化,它将隐式地初始化为这个类型的空值
  • +操作符对字符串的值进行追加,+=是赋值操作,:=用于短变量声明
  • i++是语句不是表达式,所以 j = i++不合法,且仅支持后缀,所以–i不合法
  • go不允许存在无用临时变量
  • 空标识符“ _ ”(下划线),可以用在任何语法需要变量,但程序逻辑不需要的地方
    四种变量声明方式:
    在这里插入图片描述
    for循环语句:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

if语句:
在这里插入图片描述

bufio包
在这里插入图片描述
知识点:

  • 扫描器Scanner,可以读取输入,以行或单词断开
  • 新建一个bufio.Scanner类型的input变量: input := bufio.NewScanner(os.Stdin)
  • 每一次调用input.Scan()读取下一行,并将结尾换行符去掉
  • fmt.Printf从一个表达式列表生成格式化输出,Printf函数有超过10的转义字符
    在这里插入图片描述
  • map是一个使用make创建的数据结构的引用,当一个map传递给一函数式,函数接受到的是引用的副本。
  • const声明,用来给常量命名。
  • 控制流if,for,switch
  • type声明,给已有类型命名
  • go提供指针,使用&操作符获取一个变量的地址,使用*操作符获取指针引用的变量的值
  • 方法和接口:关联了命名类型的函数称为方法,接口可以用相同的方式处理不同具体类型的抽象类型
  • 注释: 单行注释//,多行知识/*…*/

猜你喜欢

转载自blog.csdn.net/qq_25744595/article/details/85226042