参考自链接

    支持复数

    image.png

    image.png
    image.png

    默认值:
    image.png
    **
    全局变量可以声明但不使用,但局部变量不可以

    image.png
    image.png
    image.png
    image.png

    image.png

    image.png
    image.png
    函数可以有多个返回值

    image.png

    image.png
    image.png

    image.png
    image.png
    image.png
    函数中传递数组参数可以不设置数组大小

    image.png
    指针数组

    func function(*a){}
    function(&a)

    image.png
    GO结构体跟其他语言的类很像
    结构体和结构体指针访问成员都用 . (点)

    image.png

    image.png

    map使用:
    image.png
    image.png
    image.png

    image.png

    image.png

    GO并发:
    image.png

    GO通道
    image.png

    上边通道的第一个例子中有个有意思的东西如果把go关键词去掉会报死锁错误,如下代码:
    image.png
    但是如果给管道加上缓冲,就没有错误了,如下:
    image.png
    猜测可能是不加go关键词,管道数据没有同步读取导致的。可见加不加关键词在创造协程方面还是有区别的。

    image.png
    前边的累加和后边的遍历是顺序执行的。但是go每个函数会生成一个协程,本来以为可能是乱序的,可能是对管道的同步机制或者代码的编译策略造成了顺序执行。