Go语言基础 | 青训营笔记

50 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。

注:此文更适合学过C语言的同学食用。

一、本堂课重点内容:

  • 开发环境
  • 基础语法
  • 标准库

二、详细知识点介绍:

  • hello world
    • 代码相关
      • package声明包
      • import引用库
      • fmt库下有I/O函数
      • fun main(){}——main函数
    • 命令相关
      • go build 编译
      • go run 运行

  • 变量
    • 声明
      • var a = "initial"
      • a:=float32(e)
    • 类型
      • 布尔型,字符串类型,数字类型(整型,浮点型) ,其他(指针,数组,函数,接口)

  • if-else
    • if的条件不加圆括号
    • if的执行代码一定要加大括号

  • 循环
    • 只有 for循环
    • 具体实现(条件)
      • 什么也不加的死循环
      • 同C语言的for循环
    • 具体实现(执行操作)
      • continue(同C语言)
      • break(同C语言)

  • switch
    • 多个选择
    • 优于C
      • N选1,不用再break
      • 不用定义case的变量名,甚至可以直接写条件分支

  • 数组(不常用)
    • 也用var定义
    • 长度一开始就固定了

  • 切片(升级版数组——可变长度——“长度+容量+数组指针”)
    • 添加——s=append(s,"d")
      • 容量不足时,自动扩容
    • 复制——copy(c,s)
      • s拷贝到c
    • 打印——fmt.Println(s[2:5])
      • 从头到尾
      • 有头没尾
      • 有尾没头

  • map
    • 创建
      • m:=make(map[string]int)
        • 方括号内是key的类型
        • 方括号后是value的类型
    • 可写可读
      • 写 m[""]=
      • 读 fmt.Println(m[""])

未完待续

三、实践练习例子:

  • 有什么实践举例帮助理解知识点?

四、课后个人总结:

  • 注意数组与切片的区别

    • 可以学一下C的malloc()和指针辅助理解
  • 注意习惯调整,多重复,不要和原来熟悉的语言混淆。

五、引用参考:

  • 菜鸟教程 Go语言教程