如何確定傳遞給我的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