写点什么

Golang library source file 库源码文件

用户头像
escray
关注
发布于: 2021 年 05 月 14 日
Golang library source file 库源码文件

极客时间《Go 语言核心 36 讲》学习笔记 04,图片来自网络

03 | 库源码文件


同目录下的源码文件的代码包 package 声明语句要一致(只能生成一个代码包)


源码文件声明的代码包的名称可以与其所在目录名称不同(为了方便使用,一般会让声明的包名与其父目录名称一致)


按照以上规则,命令源码文件中的代码(main 代码包)通常都会调用库源码文件。


对于导入路径,因为我已经使用了 go mod,所以路径是:


"example.com/m/v2/go36/lib"
复制代码


名称首字母大写的方法,可以被包外代码引用,相当于 Java 里面的 public;字母小写只能被当前包内的代码引用,相当于 protect


对于思考题:


两个代码包的最后一级名称相同,会产生冲突,解决办法应该是使用别名,类似于


import (    in "example.com/m/v2/go36/lib/internal")
复制代码


其他的方式没有想到。


从留言里面看到的


import "lib/math" math.Sinimport m "lib/math" m.Sinimport . "lib/math" Sinimport _ "lib/math"
复制代码


参考答案里面提到使用本地化的方式导入,不是特别明白,如果两个包中有同名的方法,估计还会发生冲突,而别名的方式应该可以避免。


作者回复中对于 MVC 模式的没落有一个很好的解释,前后端通吃的模式不再流行了,所以全栈程序员的说法也没有了吸引力。


作者回复:其实不是说没有吸引力,而是知识群太过庞大,一个普通的程序员玩好某一端下的某一个分支就不容易了。所以说,要做 T 字型人才,先深挖一个分支,到达一定深度之后再考虑横向扩展。

发布于: 2021 年 05 月 14 日阅读数: 10
用户头像

escray

关注

Let's Go 2017.11.19 加入

Let's Go,用 100 天的时间从入门到入职

评论

发布
暂无评论
Golang library source file 库源码文件