go - 使用 golang 库时的类型问题
问题描述
我有一个出售 golang.org/x/text 库的项目。我的目录结构如下:
projectname/
server/
localization.go
vendor/
golang.org
x/
text/
language/
message/
internal/
currency/
...
在localization.go
我试图以message
这种方式使用库中:
import (
"golang.org/x/text/language"
"golang.org/x/text/message"
)
func formatCurrency() string {
p := message.NewPrinter(language.BrazilianPortuguese)
// do something with p
return "placeholder"
}
但是,这无法编译并出现错误:
Building...
# github.com/orgname/projectname/vendor/golang.org/x/text/internal/number
../../vendor/golang.org/x/text/internal/number/number.go:150:41: cannot convert t (type
"github.com/orgname/projectname/vendor/golang.org/x/text/language".Tag) to type compact.Tag
2018/06/05 18:17:26 compile failed: [] exit status 2
make: *** [all] Error 1
vendor/golang.org/x/text/internal/number/number.go
有它的进口,如:
import (
"unicode/utf8"
"golang.org/x/text/internal/language/compact"
"golang.org/x/text/language"
)
我不知道为什么 number.go 存在类型问题,因为所有必需的库都在供应商目录中以及如何解决它。感谢您的阅读!
解决方案
推荐阅读
- r - 如何摆脱ggplot2地图周围的空白
- php - dompdf 排除菜单和页脚
- python - 将来自 for 循环的多个打印输出值存储到列表或变量中
- laravel - 如何用 eloquent 在 Laravel 中只获取一个用户数据?
- java - 当 JFrame 聚焦时(例如通过单击或使用 Alt+Tab),我如何设置聚焦的组件?
- recursion - 在递归数据类型(如 TREE)中实现公共属性
- google-cloud-firestore - Firestore 数据库结构问题在事务中更新多个文档
- oracle - 如何解决 ORA-02019:找不到远程数据库的连接描述?
- flutter - 无法向 onChanged 属性添加函数
- spring - JPA - 如何更新 OneToMany 关系中的子对象?