Skip to content

Commit

Permalink
zz
Browse files Browse the repository at this point in the history
  • Loading branch information
chai2010 committed Feb 28, 2019
1 parent 4d9d43b commit 67df949
Show file tree
Hide file tree
Showing 9 changed files with 82 additions and 51 deletions.
62 changes: 61 additions & 1 deletion SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,65 @@
* [1.2 Go1到Go1.10](ch1/ch1-2.md)
* [1.3 Go1.10过渡到Go2](ch1/ch1-3.md)
* [1.4 Go2诞生](ch1/ch1-4.md)
* [第2章 模块化(TODO)](ch2/readme.md)
* [第2章 模块化](ch2/readme.md)
* [2.1 Go1的包机制(TODO)](ch2/ch2-1.md)
* [2.2 基于vendor的版本管理(TODO)](ch2/ch2-2.md)
* [2.3 模块的设计⽬标(TODO)](ch2/ch2-3.md)
* [2.4 模块快速⼊⻔(TODO)](ch2/ch2-4.md)
* [2.5 子模块和多版本共存(TODO)](ch2/ch2-5.md)
* [2.6 镜像和私有仓库(TODO)](ch2/ch2-6.md)
* [2.7 模块化实践中的一些问题(TODO)](ch2/ch2-7.md)
* [第3章 错误处理(TODO)](ch3/readme.md)


<!--
1.
语言只定义了包的概念
包可以有不同的实现,比如基于zip的包集合
最早是没有gopath的
makefile时代的编译,和goroot是放在一起的
标准库包和用户包的分离
2.
gopath
intrnal
vendor
和std同名的包
3.
vendor的问题
本质原因是不同包中的类型不一样
vendor内的包对应新路径的包
4. 模块的设计⽬标
问题,有时候需要调试,临时修改以来包的代码,
但是修改之后会导致其它依赖此包的应用被影响,可以用replace吗
5. 模块快速⼊⻔
go mod命令
6. go.mod 和 go.sum⽂件
7. go get重新⼊⻔
8. 语义化版本号
9. v1/v2/v3版本共存
10. ⼦模块
11. 最⼩化版本选择
12. 版本不相容和间接依赖
不相容是历史问题,临时调试修改依赖的包
14. 私有仓库/镜像
以前是每个pkg的go get需要DNS查网址,如果要定制指南修改hosts文件,
但是修改hosts文件将对其它应用产生影响。
-->
51 changes: 2 additions & 49 deletions ch2/ch2-1.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,3 @@
# 2.1 Go包机制
# 2.1 Go1的包机制

<!--
1.
语言只定义了包的概念
包可以有不同的实现,比如基于zip的包集合
最早是没有gopath的
makefile时代的编译,和goroot是放在一起的
2.
gopath
intrnal
vendor
和std同名的包
3.
vendor的问题
本质原因是不同包中的类型不一样
vendor内的包对应新路径的包
4. 模块的设计⽬标
问题,有时候需要调试,临时修改以来包的代码,
但是修改之后会导致其它依赖此包的应用被影响,可以用replace吗
5. 模块快速⼊⻔
6. go.mod 和 go.sum⽂件
7. go get重新⼊⻔
8. 语义化版本号
9. v1/v2/v3版本共存
10. ⼦模块
11. 最⼩化版本选择
12. 版本不相容和间接依赖
13. go mod命令
14. 私有仓库/镜像
以前是每个pkg的go get需要DNS查网址,如果要定制指南修改hosts文件,
但是修改hosts文件将对其它应用产生影响。
-->
TODO
3 changes: 3 additions & 0 deletions ch2/ch2-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2.2 基于vendor的版本管理

TODO
3 changes: 3 additions & 0 deletions ch2/ch2-3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2.3 模块的设计⽬标

TODO
3 changes: 3 additions & 0 deletions ch2/ch2-4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2.1 模块快速⼊⻔

TODO
3 changes: 3 additions & 0 deletions ch2/ch2-5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2.5 子模块和多版本共存

TODO
3 changes: 3 additions & 0 deletions ch2/ch2-6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2.6 镜像和私有仓库

TODO
3 changes: 3 additions & 0 deletions ch2/ch2-7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2.7 模块化实践中的一些问题

TODO
2 changes: 1 addition & 1 deletion ch2/readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# 第2章 模块化

TODO
模块化也称为包依赖管理,是管理任何大型工程必备的工具。Go语言发布十年来一直缺乏官方的模块化工具。同样在2018年,作为Go语言团队的技术领导人Russ Cox终于出手,重新发明了称为最小版本选择的包依赖管理的规则并提交了提案。模块特性已经被实验性地集成到Go1.11中,并将在后续版本中逐渐转化为正式特性。模块化的特性将彻底解决大型Go语言工程的管理问题,至此Go1除了缺少泛型等特性已经近乎完美。本章讨论模块相关的使用。

0 comments on commit 67df949

Please sign in to comment.