概述
在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/
最后
以上就是冷艳枕头为你收集整理的golang的哪些坑爷事: package实践--转的全部内容,希望文章能够帮你解决golang的哪些坑爷事: package实践--转所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复