golang的哪些坑爷事: package实践--转

                                                                                                     

在golang中package是个困惑的概念, 特别是package还可以与folder不同名, 委实让我恶心了一把.

关于golang的package的最佳实践:

package is folder.

package name is folder name.

package path is folder path.

信耶稣得永生!

 

1. 同一个folder存在不同package, 编译错误:

D:/go/bin/go.exe build [E:/cgss/src/pkg01]

can't load package: package pkg01: found packages pkg01 (pkg01.go) and pkg012 (pkg02.go) in E:/cgss/src/pkg01

在同一个folder存在多个package, 则加载失败. 即使是main, 也一样

D:/go/bin/go.exe build [E:/cgss/src/test]

can't load package: package test: found packages main (cgss.go) and file01 (file01.go) in E:/cgss/src/test

2. folder name与package name不同(即package path与package name不同), 则需要使用

    "import alias path"语法, 即: 

    import <package_name> <package_path>

否则编译错误: package name不是合法标识符. 

D:/go/bin/go.exe build [E:/cgss/src/test]

can't load package: package test: found packages main (cgss.go) and file01 (file01.go) in E:/cgss/src/test

package main
import "fmt"import pkg012 "pkg01"
func main() { fmt.Println(pkg012.PKG_NAME)}




查看原文:http://www.zoues.com/2016/10/20/golang%e7%9a%84%e5%93%aa%e4%ba%9b%e5%9d%91%e7%88%b7%e4%ba%8b-package%e5%ae%9e%e8%b7%b5-%e8%bd%ac/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值