【发布时间】:2018-02-04 02:32:48
【问题描述】:
在这个奇怪的例子中,有人创建了一个实际上只是一个字符串的新类型:
type CustomType string
const (
Foobar CustomType = "somestring"
)
func SomeFunction() string {
return Foobar
}
但是,这段代码编译失败:
不能在返回参数中使用 Foobar(自定义类型类型)作为类型字符串
您将如何修复 SomeFunction 以便它能够返回 Foobar ("somestring") 的字符串值?
【问题讨论】:
-
创建一个只是字符串的类型并不是那么奇怪。例如,如果您知道某个字符串始终是国家/地区名称,您可以创建一个
type Country string;这将使代码更易于阅读。 -
@Akavall 如何将
Country类型限制为已知的值列表?我们能做到吗?
标签: string go type-conversion