Go 1.11 前天已经正式发布了,这个版本包含了两个最重要的feature就是 module和web assembly。虽然也有一些简单的教程介绍了go module的特性,但是基本上都是hello world的例子,在实践的过程中, 很多人都在“拼命的挣扎”,包括我自己, 从一些qq群、github的issue, twitter上都可以看到大家茫然或者抱怨的语句。
虽然有三个帮助文件go help mod、go help modules、go help module-get可以了解一些go module的用法,但是感觉Go开发组对module这一特性还是没有很好的做一个全面的介绍,很多情况还得靠大家看源代码或者去猜,比如module下载的文件夹、版本格式的完整声明,module的最佳实践等,并且当前Go 1.11的实现中还有一些bug,给大家在使用的过程中带来了很大的困难。
# nm go/bin/glide |more 0000000000908680 r andMask 0000000000901d00 r bswapMask 00000000009036c0 r BSWAP_SHUFB_CTL 0000000000b000e0 B bufio.ErrAdvanceTooFar 0000000000b000f0 B bufio.ErrBufferFull 0000000000b00100 B bufio.ErrFinalToken 0000000000b00110 B bufio.ErrInvalidUnreadByte 0000000000b00120 B bufio.ErrInvalidUnreadRune 0000000000b00130 B bufio.ErrNegativeAdvance 0000000000b00140 B bufio.ErrNegativeCount 0000000000b00160 B bufio.errNegativeRead 0000000000b00170 B bufio.errNegativeWrite 0000000000b00150 B bufio.ErrTooLong 00000000004d9140 T bufio.init 0000000000b21120 B bufio.initdone. 00000000004d6510 T bufio.(*Reader).Buffered 00000000004d59d0 T bufio.(*Reader).Discard 00000000004d5590 T bufio.(*Reader).fill 00000000004d57c0 T bufio.(*Reader).Peek 00000000004d5b70 T bufio.(*Reader).Read ......
/usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/65f3c109fb903539820f84856d2725af784f2f03f95b1f0214e34184e4d61ff7-init/merged: invalid argument. See '/usr/bin/docker-current run --help'.