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:cgsssrcpkg01

在同一個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:cgsssrc est

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:cgsssrc est

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

 

轉載地址:https://www.tinymind.net.cn/articles/3f6e2cfcbb0488

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章