我在我的應(yīng)用程序中創(chuàng)建了如下嚴(yán)格:type 數(shù)據(jù)類型 int8常量 ( 用戶數(shù)據(jù)類型 = iota 地址 測(cè)試)var datatypes = [...]string{"User", "Address", "Test"}func (datatype Datatype) String() string { 返回?cái)?shù)據(jù)類型[數(shù)據(jù)類型]}我希望能夠針對(duì)此枚舉驗(yàn)證通過命令行標(biāo)志傳遞的值。我以為我看到了類似dtype == Datatype被利用的東西,但我顯然大錯(cuò)特錯(cuò)了。如果這是不可能的,我可以將這些值放入數(shù)組中。但是,我覺得 enum 方法更優(yōu)雅。
1 回答

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
從您的代碼示例中,您似乎正在嘗試查看地圖(而不是結(jié)構(gòu))是否包含特定鍵。
如果是這樣,答案在這里
二值賦值測(cè)試鍵的存在:
i, ok := m["route"]在該語句中,第一個(gè)值 (i) 被分配了存儲(chǔ)在鍵“route”下的值。如果該鍵不存在,則 i 是值類型的零值 (0)。第二個(gè)值 (ok) 是一個(gè)布爾值,如果鍵存在于地圖中則為真,否則為假。
要在不檢索值的情況下測(cè)試鍵,請(qǐng)使用下劃線代替第一個(gè)值:
_, ok := m["route"]
- 1 回答
- 0 關(guān)注
- 241 瀏覽
添加回答
舉報(bào)
0/150
提交
取消