参考自链接
支持复数
默认值:
**
全局变量可以声明但不使用,但局部变量不可以
函数可以有多个返回值
函数中传递数组参数可以不设置数组大小
指针数组
func function(*a){}
function(&a)
GO结构体跟其他语言的类很像
结构体和结构体指针访问成员都用 . (点)
map使用:
GO并发:
GO通道
上边通道的第一个例子中有个有意思的东西如果把go关键词去掉会报死锁错误,如下代码:
但是如果给管道加上缓冲,就没有错误了,如下:
猜测可能是不加go关键词,管道数据没有同步读取导致的。可见加不加关键词在创造协程方面还是有区别的。
前边的累加和后边的遍历是顺序执行的。但是go每个函数会生成一个协程,本来以为可能是乱序的,可能是对管道的同步机制或者代码的编译策略造成了顺序执行。