5、Go语言中的符号导入导出、类型系统与变量函数使用

Go语言中的符号导入导出、类型系统与变量函数使用

1. 符号的导入与导出

在Go语言里,包声明之后会跟着一系列的导入语句,这些语句指定了代码中所需的包。导入未使用的包(除非被忽略)会导致编译错误,这就是Go格式化工具 gofmt 会移除未使用包的原因。此外,还有像 goimports (https://godoc.org/golang.org/x/tools/cmd/goimports )和 goreturns (https://github.com/sqs/goreturns )这样的实验性或社区工具,它们能为Go文件添加缺失的导入。

需要特别注意的是,要避免出现循环依赖,因为存在循环依赖的代码无法编译。为了打破循环依赖,一种好的做法是从包中导出功能,或者用接口来替代依赖。

Go语言将符号的可见性简化为二进制模型,即导出和未导出,这与许多具有中间级别的其他语言不同。在每个包中,所有以大写字母开头的符号都会被导出,其他符号则仅在包内部使用。导出的值可以被其他包使用,而未导出的值只能在包自身中使用。

如果包路径中有 internal 元素(例如 my/package/internal/pdf ),则该包及其子包只能被相邻的包(如 my/package )导入。以下是一些内部包的示例:
- my/package/internal
- my/package/internal/numbers
-

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值