最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年04月29日 09:37:53   作者:潘廣宇 Leo  
這篇文章主要介紹了Golang 如何判斷數(shù)組某個(gè)元素是否存在 (isset),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

如,現(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

正確處理方法:

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

package main 
import (
 "fmt"
 "os"
)
 
func main() {
 var target string                             // 用來(lái)獲取最終需要的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說(shuō)明不存在
 } else {
  fmt.Println(index) //存在則會(huì)返回元素的下標(biāo) 
 }
}

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

相關(guān)文章

  • Golang程序如何查找內(nèi)存泄漏(pprof)

    Golang程序如何查找內(nèi)存泄漏(pprof)

    該文章詳細(xì)介紹了如何使用Golang的pprof工具查找內(nèi)存泄漏,首先,在main包中引入pprof包并設(shè)置條件編譯,然后編譯程序并運(yùn)行,通過(guò)執(zhí)行g(shù)otoolpprof-inuse_space命令,可以進(jìn)入交互模式并使用top命令查看內(nèi)存分配最多的函數(shù),如果本機(jī)中有源代碼
    2024-12-12
  • Go解析不定JSON數(shù)據(jù)的方法詳解

    Go解析不定JSON數(shù)據(jù)的方法詳解

    在開發(fā)中常常會(huì)碰到很多JSON類型的數(shù)據(jù)進(jìn)行交互,而其中有很多JSON數(shù)據(jù)你是不能確定它的字段和結(jié)構(gòu)的,而Go語(yǔ)言是一門靜態(tài)強(qiáng)類型的語(yǔ)言,在進(jìn)行JSON解析的時(shí)候必須要確定字段的類型,本文給大家介紹了Go如何解析不定JSON數(shù)據(jù),需要的朋友可以參考下
    2024-03-03
  • 詳解玩轉(zhuǎn)直播系列之消息模塊演進(jìn)

    詳解玩轉(zhuǎn)直播系列之消息模塊演進(jìn)

    本篇文章針對(duì)秀場(chǎng)直播,簡(jiǎn)單地描述一下消息模型,說(shuō)明一下我們消息模型的架構(gòu),并結(jié)合我們一年以來(lái),通過(guò)處理不同的業(yè)務(wù)線上問(wèn)題,來(lái)進(jìn)行演進(jìn)式的消息模型架構(gòu)的升級(jí)與調(diào)整,將此整理成文,并分享給大家
    2021-06-06
  • Go整合captcha實(shí)現(xiàn)驗(yàn)證碼功能

    Go整合captcha實(shí)現(xiàn)驗(yàn)證碼功能

    最近在使用Go語(yǔ)言搞一個(gè)用戶登錄&注冊(cè)的功能,我們油然會(huì)產(chǎn)生一種增加驗(yàn)證碼的想法。后來(lái)在GitHub上找到了這個(gè)名叫captcha的插件,于是就利用文檔進(jìn)行了初步的學(xué)習(xí),并融入到自己的項(xiàng)目中,整個(gè)過(guò)程下來(lái)感覺(jué)這個(gè)插件的設(shè)計(jì)非常巧妙
    2023-03-03
  • Golang結(jié)構(gòu)化日志包log/slog的使用詳解

    Golang結(jié)構(gòu)化日志包log/slog的使用詳解

    官方提供的用于打印日志的包是標(biāo)準(zhǔn)庫(kù)中的 log 包,該包雖然被廣泛使用,但是缺點(diǎn)也很多,所以Go 1.21新增的 log/slog 完美解決了以上問(wèn)題,下面我們就來(lái)看看log/slog包的使用吧
    2023-09-09
  • golang使用excelize庫(kù)操作excel文件的方法詳解

    golang使用excelize庫(kù)操作excel文件的方法詳解

    Excelize是Go語(yǔ)言編寫的用于操作Office Excel文檔基礎(chǔ)庫(kù),基于ECMA-376,ISO/IEC 29500國(guó)際標(biāo)準(zhǔn),下面這篇文章主要給大家介紹了關(guān)于golang使用excelize庫(kù)操作excel文件的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Go中的錯(cuò)誤和異常處理最佳實(shí)踐方法

    Go中的錯(cuò)誤和異常處理最佳實(shí)踐方法

    這篇文章主要介紹了Go中的錯(cuò)誤和異常處理最佳實(shí)踐方法,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • GO項(xiàng)目實(shí)戰(zhàn)之Gorm格式化時(shí)間字段實(shí)現(xiàn)

    GO項(xiàng)目實(shí)戰(zhàn)之Gorm格式化時(shí)間字段實(shí)現(xiàn)

    GORM自帶的time.Time類型JSON默認(rèn)輸出RFC3339Nano格式的,下面這篇文章主要給大家介紹了關(guān)于GO項(xiàng)目實(shí)戰(zhàn)之Gorm格式化時(shí)間字段實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • golang中tar壓縮和解壓文件詳情

    golang中tar壓縮和解壓文件詳情

    這篇文章主要給大家介紹golang中tar壓縮和解壓文件,文章以查看官方文檔自帶的給大家演習(xí)一下golang的archive/tar壓縮和解壓功能,需要的朋友可以參考一下
    2021-11-11
  • Go語(yǔ)言用map實(shí)現(xiàn)堆棧功能的方法

    Go語(yǔ)言用map實(shí)現(xiàn)堆棧功能的方法

    這篇文章主要介紹了Go語(yǔ)言用map實(shí)現(xiàn)堆棧功能的方法,實(shí)例分析了Go語(yǔ)言使用map操作堆棧的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02

最新評(píng)論

海门市| 冷水江市| 高州市| 安岳县| 德格县| 衡山县| 苍山县| 盐池县| 仁寿县| 屯留县| 游戏| 哈巴河县| 禹城市| 施甸县| 福贡县| 玉门市| 海阳市| 无为县| 保定市| 日喀则市| 汾阳市| 彭水| 鞍山市| 青海省| 莎车县| 关岭| 涪陵区| 张家港市| 玛多县| 郸城县| 九江县| 黄平县| 灵丘县| 宁阳县| 芜湖市| 浦北县| 棋牌| 延寿县| 孟州市| 西乡县| 定襄县|