GO入门(一) | 青训营笔记

74 阅读2分钟

Go语言的优点

  • 自带gc。

  • 静态编译,编译好后,扔服务器直接运行。

  • 简单的思想,没有继承,多态,类等。

  • 丰富的库和详细的开发文档。

  • 语法层支持并发,和拥有同步并发的channel类型,使并发开发变得非常方便。

  • 简洁的语法,提高开发效率,同时提高代码的阅读性和可维护性。

  • 超级简单的交叉编译,仅需更改环境变量。

Go命名要求

  1. Go的函数、变量、常量、自定义类型、包的命名方式遵循以下规则: 1)首字符可以是任意的Unicode字符或者下划线 2)剩余字符可以是Unicode字符、下划线、数字 3)字符长度不限

Go语言声明

有四种主要声明方式: var(声明变量), const(声明常量), type(声明类型) ,func(声明函数)。

Go的程序是保存在多个.go文件中,文件的第一行就是package XXX声明,用来说明该文件属于哪个包,package声明下来就是import声明,再下来是类型,变量,常量,函数的声明。

Go内置类型和内置函数

  1. 内置类型
    bool
    int(32 or 64), int8, int16, int32, int64
    uint(32 or 64), uint8(byte), uint16, uint32, uint64
    float32, float64
    string
    complex64, complex128
    array      -- 固定长度的数组
    slice      -- 序列数组
    map        -- 映射
    chan       -- 管道
  1. 内置函数
    append          -- 用来追加元素到数组、slice中,返回修改后的数组、slice
    close           -- 主要用来关闭channel
    delete          -- 从map中删除key对应的value
    panic           -- 停止常规的goroutine  (panicrecover:用来做错误处理)
    recover         -- 允许程序定义goroutine的panic动作
    imag            -- 返回complex的实部   (complexreal imag:用于创建和操作复数)
    real            -- 返回complex的虚部
    make            -- 用来分配内存,返回Type本身(只能应用于slice, map, channel)
    new             -- 用来分配内存,主要用来分配值类型,比如intstruct。返回指向Type的指针
    cap             -- capacity是容量的意思,用于返回某个类型的最大容量(只能用于切片和 mapcopy            -- 用于复制和连接slice,返回复制的数目
    len             -- 来求长度,比如string、array、slice、map、channel ,返回长度
    printprintln  -- 底层打印函数,在部署环境中建议使用 fmt 包
  1. 内置接口error
    type error interface { //只要实现了Error()函数,返回值为String的都实现了err接口
            Error()    String
    }

总结

初识Go语言,感觉Go语言是真的简洁。

目录结构清晰,且只有.go文件扩展名,不易混淆。

删去冗余代码,符号仅在必要时添加。

尤其是内置数据结构和内置函数的功能强大,无需频繁导入基础包。