濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Golang 如何判斷數(shù)組某個(gè)元素是否存在 (isset)

Golang 如何判斷數(shù)組某個(gè)元素是否存在 (isset)

熱門標(biāo)簽:外呼系統(tǒng)顯本地手機(jī)號(hào) excel地圖標(biāo)注分布數(shù)據(jù) 百度地圖標(biāo)注后傳給手機(jī) 涿州代理外呼系統(tǒng) 電話機(jī)器人軟件免費(fèi) 阿克蘇地圖標(biāo)注 壽光微信地圖標(biāo)注 評(píng)價(jià)高的400電話辦理 外呼系統(tǒng)用什么卡

如,現(xiàn)在需要判斷命令行是否傳了參數(shù),即 os.Args[1] 是否存在

如果使用下述的判斷:

package main 
import (
 "fmt"
 "os"
)
 
func main() {
 if os.Args[1] != "" {
  fmt.Println("aaa")
 } else {
  fmt.Println("bbb")
 } 
}

會(huì)報(bào)錯(cuò):index out of range

panic: runtime error: index out of range
 
goroutine 1 [running]:
main.main()
 /root/workspace/go/testn.go:9 +0x100
exit status 2

正確處理方法:

通過遍歷的方式判斷 key = 1 是否存在

package main 
import (
 "fmt"
 "os"
)
 
func main() {
 var target string                             // 用來獲取最終需要的os.Args[1]
 for k, v := range(os.Args) {
  if k == 1 {                               // 假設(shè)需要獲取os.Args[k], k = 1
   target = v
  }
 } 
 
 if target != "" {                             // 不為空則表示os.Arg[1]存在
  fmt.Printf("os.Arg[1] = %s", target)     
 }
}

補(bǔ)充:golang中的正則匹配判斷元素是否在slice里或者數(shù)組里

1、正則匹配

package main 
import (
 "fmt"
 "regexp"
) 

func main() { 
    //pattern := "\\d+"     //反斜杠要轉(zhuǎn)義
 pattern := "[a-zA-Z]"   //匹配字母
 str := "a1.22.35.4"
 result, _ := regexp.MatchString(pattern, str)
 fmt.Println(result)   //true
}

2、判斷元素是否在slice里或者數(shù)組里

package main 
import "fmt" 
import "github.com/wxnacy/wgo/arrays" 
//go get github.com/wxnacy/wgo/arrays   安裝包 

func main() {
 str := "342"
 var numbers []string
 numbers = append(numbers, "3332", "342", "ssddd", "ssss", "%%%%") 
 index := arrays.ContainsString(numbers, str)
 if index == -1 {
  fmt.Printf("not exists") //-1說明不存在
 } else {
  fmt.Println(index) //存在則會(huì)返回元素的下標(biāo) 
 }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Golang 空map和未初始化map的注意事項(xiàng)說明
  • golang 函數(shù)返回chan類型的操作
  • Go語言的Channel遍歷方法詳解
  • Golang 拷貝Array或Slice的操作
  • 基于Go Int轉(zhuǎn)string幾種方式性能測試
  • Go語言中break label與goto label的區(qū)別
  • Go 實(shí)現(xiàn)英尺和米的簡單單位換算方式

標(biāo)簽:梅河口 重慶 蘭州 欽州 汕頭 雞西 銅川 吐魯番

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Golang 如何判斷數(shù)組某個(gè)元素是否存在 (isset)》,本文關(guān)鍵詞  Golang,如何,判斷,數(shù)組,某個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Golang 如何判斷數(shù)組某個(gè)元素是否存在 (isset)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Golang 如何判斷數(shù)組某個(gè)元素是否存在 (isset)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    嘉荫县| 浦江县| 石家庄市| 清徐县| 巴青县| 华阴市| 崇州市| 洞口县| 雷山县| 丽水市| 涿州市| 景德镇市| 繁峙县| 定西市| 古丈县| 临城县| 奉节县| 乌鲁木齐市| 方城县| 凤翔县| 阳谷县| 仙游县| 和平县| 南华县| 肇州县| 江油市| 星子县| 崇明县| 廊坊市| 会理县| 化州市| 肥城市| 星子县| 武威市| 兴国县| 吉隆县| 湖口县| 大理市| 石林| 临朐县| 鹿邑县|