GO语言基础语法(包含个人认识) | 青训营笔记

84 阅读2分钟

GO语言基础语法(包含个人认识) | 青训营笔记

1.个人对GO语法的认识

  • 像指针、结构体等知识点,写法上非常像C语言
  • 又比如切片的操作又和python语法中的切片非常像
  • 还有像switch的语法中不用像其他大部分语言一样需要写break;语句,较为灵活
  • 变量类型的识别和变化灵活
  • 数组和Map等数据类型的定义和其他语言是相反的,是先定义大小,再定义数据类型:比如 [3]int
  • var 定义在之前是可写可不写的
  • 新增加了一些方式,像如下的range方式就是一种较为新颖的语法
    for i, num := range nums {
        sum +=num
        fmt.Println( "index : ", i, "num: " , num)
     }
  • 结构体函数则是相当于JAVA中的类成员方法,可以通过该结构体对象,并使用.来直接调用,可以说是融合了一些面向对象的思想在里面,从而使语法更加简单,写出来的代码更加精炼
  • 对错误的处理相较于其他语言更加简单,以如下的方法来处理代码的出现的错误,更加简便
func findUser(users []user, name string) (v *user, err error) {
    for _, u := range users {
        if u.name == name {
            return &u, nil
        }
    }
    return nil, errors.New("not found")
}

2.GO语言的优点(个人观点)

1.GO语言安装简单:

  • 直接安装完成之后直接上手,不用像JAVA一样配置一堆环境变量
  1. 能够适应一些高并发的场景
  2. 自带丰富的内部语法库,方便引入;比如对JSON语法格式能够自动解析的库 "encoding/json"
  3. 语法格式严格:像大括号必须要分行书写等
  4. 上手快速(当然自己之前要有学习过其他任何一门经典的编程语言,有一定的基础,不然也不可能快速上手)
  5. 学习成本较低
  6. 能够实现跨平台
  7. 能够快速实现功能

3.基础知识点罗列

  1. 变量定义
  2. if-else
  3. 循环(for)
  4. switch
  5. 数组
  6. 切片
  7. map
  8. range
  9. 函数
  10. 指针
  11. 结构体
  12. 结构体方法
  13. 错误处理
  14. 字符串操作
  15. 字符串格式化
  16. JSON处理
  17. 时间处理
  18. 数字解析 19.扩展 --> 其他标准库的使用