如何确定传递给我的Func的var实际上是我想要的类型?确定var是否是自定义类型
我有一个自定义类型
type Name string
和一堆型
const Fred Name = "fred"
的常量和我有一个FUNC,我需要禁止其他任何其他类型的输入比我定制类型例如:
func MyFunc(name1 Name, name2 Name) (*Person, error) {
//bunch of stuff
}
我如何检查我的func里面name1和name2不是字符串传递给func但仅仅const的,我已经在我的类型前定义:
p, err := MyFunc(Fred,Albert) //What i want
p, err := MyFunc("fred","albert") //What i dont want to happen
如果不能回答我的问题,我怎么能做出这样的Golang一个类型,这意味着什么,并限制其他脂肪酶使用I型定义
一个枚举
最后这是正确的做法,我需要的所有值都是常量,所以我应用了最后一条建议,其他答案没有通过goLint,也没有明确解决您最后一条建议的地方,谢谢 – Eefret 2014-09-29 15:17:56