如下的例子,要打印100以內(nèi)能被5整除的數(shù),以panic的方式選擇出來(lái)并打印。
成都創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營(yíng)銷推廣及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
如果用下面的方式,執(zhí)行到第一個(gè)panic就會(huì)跳出for循環(huán)
只能輸出第一個(gè)匹配項(xiàng),然后退出for循環(huán)。
那么如何保證在for循環(huán)處理完panic不退出循環(huán),直到打印完所有滿足條件的數(shù)值?
golang的panic被恢復(fù)后,能繼續(xù)執(zhí)行比recover更早的defer,或者返回到recover函數(shù)的調(diào)用方,然后繼續(xù)執(zhí)行下去。
所以,我們可以把panic和recover放到單獨(dú)的函數(shù)中,然后在for循環(huán)里調(diào)用這個(gè)函數(shù),這個(gè)函數(shù)panic并恢復(fù)后,能返回到調(diào)用方for循環(huán)并繼續(xù)循環(huán)下去。
執(zhí)行結(jié)果是所有0到100的所有符合panic條件的都能正確處理,for循環(huán)沒(méi)有異常退出:
golang的panic屬于非常嚴(yán)重的錯(cuò)誤,一旦panic沒(méi)有recover的話,程序就退出了。一般避免主動(dòng)panic,影響程序穩(wěn)定性。
recover函數(shù)要放在defer里面,并且只能恢復(fù)同一個(gè)goroutine的并且是直接調(diào)用鏈函數(shù)發(fā)生的panic。recover不能恢復(fù)上一層函數(shù)的panic。
作為一個(gè)測(cè)試,作為一個(gè)測(cè)試開(kāi)發(fā), 全?;?管理 是我們未來(lái)的發(fā)展方向。已經(jīng)掌握了Java、Python、HTML的你,是不是也想了解下最近異常火爆的Go語(yǔ)言呢?來(lái)吧,讓我們一起了解下。
Go 是一個(gè)開(kāi)源的編程語(yǔ)言 ,它能讓構(gòu)造簡(jiǎn)單、可靠且高效的軟件變得容易。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開(kāi)發(fā),后來(lái)還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開(kāi)源,在2012年早些時(shí)候發(fā)布了Go 1穩(wěn)定版本?,F(xiàn)在Go的開(kāi)發(fā)已經(jīng)是完全開(kāi)放的,并且擁有一個(gè)活躍的社區(qū)。這三個(gè)人都是計(jì)算機(jī)界的大神,有的參與了C語(yǔ)言的編寫,有的還是數(shù)學(xué)大神,有的還獲得了計(jì)算機(jī)最高榮譽(yù)-圖靈獎(jiǎng)。
接下來(lái)說(shuō)說(shuō) Go語(yǔ)言的特色 :
簡(jiǎn)潔、快速、安全
并行、有趣、開(kāi)源
內(nèi)存管理、數(shù)組安全、編譯迅速
Go語(yǔ)言的用途 :
Go 語(yǔ)言被設(shè)計(jì)成一門應(yīng)用于搭載 Web 服務(wù)器,存儲(chǔ)集群或類似用途的巨型中央服務(wù)器的系統(tǒng)編程語(yǔ)言。
對(duì)于高性能分布式系統(tǒng)領(lǐng)域而言,Go 語(yǔ)言無(wú)疑比大多數(shù)其它語(yǔ)言有著更高的開(kāi)發(fā)效率。它提供了海量并行的支持,這對(duì)于 游戲 服務(wù)端的開(kāi)發(fā)而言是再好不過(guò)了。
Go語(yǔ)言的環(huán)境安裝:
建議直接打開(kāi) 官方地址因?yàn)閴Φ脑虼虿婚_(kāi)
因?yàn)槲矣玫氖莣indows系統(tǒng),這里主要講下Windows系統(tǒng)上使用Go語(yǔ)言來(lái)編程。
Windows 下可以使用 .msi 后綴(在下載列表中可以找到該文件,如go1.17.2.windows-amd64.msi)的安裝包來(lái)安裝。
默認(rèn)情況下 .msi 文件會(huì)安裝在 c:Go 目錄下。你可以將 c:Gobin 目錄添加到 Path 環(huán)境變量中。添加后你需要重啟命令窗口才能生效。個(gè)人建議還是安裝到 Program Files文件夾中。
使用什么開(kāi)發(fā)工具來(lái)對(duì)Go語(yǔ)言進(jìn)行編寫:
個(gè)人建議用VS code, 也可以用Sublime Text來(lái)編輯。如果你之前看了我講的HTML語(yǔ)言的學(xué)習(xí),肯定已經(jīng)下載了VS code. 那么這時(shí)你需要在VS code中下載Go語(yǔ)言的擴(kuò)展插件。
這里有一個(gè)巨大的坑,就是在下載Go的插件和依賴包時(shí),會(huì)提示一些包沒(méi)有。主要是因?yàn)橄螺d的依賴包部分被墻了,只能想別的辦法去下載。
建議參考網(wǎng)頁(yè):
解決vscode中g(shù)olang插件安裝失敗方法
在學(xué)習(xí)go的過(guò)程中,使用的是vscode,但是一直提示安裝相關(guān)插件失敗,然后上網(wǎng)查方法,基本上是叫你建立golang.org目錄什么的,結(jié)果全是錯(cuò)的,而且都是抄襲,很煩。無(wú)意之中看到一位博主分享的方法,他也是飽受上述的垃圾博文困擾,然后找到了解決方法,這里向他致敬,秉著讓更多人看到正確解決方法的心,我寫下正確的解決方法,希望對(duì)你有所幫助,也可以點(diǎn)開(kāi)原博主鏈接參考:
Go有一個(gè)全球模塊代理,設(shè)置代理再去安裝golang的插件,就可以安裝成功了。步驟有,首先Windows用戶打開(kāi)Powershell,一個(gè)藍(lán)色的界面,注意不是cmd!不知道的直接打開(kāi)window下面的搜索,然后輸入powershell,搜索出來(lái)就可以了。
$env:GO111MODULE=“on”
$env:GOPROXY=“”
go env -w GOPROXY=
go env -w GOPRIVATE=*.corp.example點(diǎn)抗
然后我們打開(kāi)VsCode界面,下面會(huì)提示安裝插件,我們選擇Install ALL,就會(huì)安裝成功
當(dāng)你在運(yùn)行Go語(yǔ)言程序時(shí),提示所有的插件包都已經(jīng)安裝成功了時(shí),就可以正常使用了,要不然一堆報(bào)錯(cuò)會(huì)讓你非常心煩。
好了,今天先到這里,晚安、下班~
應(yīng)用程序發(fā)生異常 未知的軟件異常
1.病毒木馬造成的,在當(dāng)今互聯(lián)網(wǎng)時(shí)代,病毒坐著為了獲得更多的牟利,常用病毒綁架應(yīng)用程序和系統(tǒng)文件,然后某些安全殺毒軟件把被病毒木馬感染的應(yīng)用程序和系統(tǒng)文件當(dāng)病毒殺了導(dǎo)致的。
2.應(yīng)用程序組件丟失,應(yīng)用程序完整的運(yùn)行需要一些系統(tǒng)文件或者某些ll文件支持的,如果應(yīng)用程序組件不完整也會(huì)導(dǎo)致的。
3.系統(tǒng)文件損壞或丟失,盜版系統(tǒng)或Ghost版本系統(tǒng),很容易出現(xiàn)該問(wèn)題。
4.操作系統(tǒng)自身的問(wèn)題,操作系統(tǒng)本身也會(huì)有bug 。
5.硬件問(wèn)題,例如內(nèi)存條壞了或者存在質(zhì)量問(wèn)題,或者內(nèi)存條的金手指的灰塵特別多。
應(yīng)用程序發(fā)生異常怎么辦
1.檢查電腦是否存在病毒,請(qǐng)使用百度衛(wèi)士進(jìn)行木馬查殺。
2.系統(tǒng)文件損壞或丟失,盜版系統(tǒng)或Ghost版本系統(tǒng),很容易出現(xiàn)該問(wèn)題。建議:使用完整版或正版系統(tǒng)。
3.安裝的軟件與系統(tǒng)或其它軟件發(fā)生沖突,找到發(fā)生沖突的軟件,卸載它。如果更新下載補(bǔ)丁不是該軟件的錯(cuò)誤補(bǔ)丁,也會(huì)引起軟件異常,解決辦法:卸載該軟件,重新下載重新安裝試試。順便檢查開(kāi)機(jī)啟動(dòng)項(xiàng),把沒(méi)必要啟動(dòng)的啟動(dòng)項(xiàng)禁止開(kāi)機(jī)啟動(dòng)。
4.如果檢查上面的都沒(méi)問(wèn)題,可以試試下面的方法。
打開(kāi)開(kāi)始菜單→運(yùn)行→輸入cmd→回車,在命令提示符下輸入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回車。
完成后,在輸入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回車。
如果怕輸入錯(cuò)誤,可以復(fù)制這兩條指令,然后在命令提示符后擊鼠標(biāo)右鍵,打“粘貼”,回車,耐心等待,直到屏幕滾動(dòng)停止為止。(重啟電腦)。
1、簡(jiǎn)單易學(xué)。
Go語(yǔ)言的作者本身就很懂C語(yǔ)言,所以同樣Go語(yǔ)言也會(huì)有C語(yǔ)言的基因,所以對(duì)于程序員來(lái)說(shuō),Go語(yǔ)言天生就會(huì)讓人很熟悉,容易上手。
2、并發(fā)性好。
Go語(yǔ)言天生支持并發(fā),可以充分利用多核,輕松地使用并發(fā)。 這是Go語(yǔ)言最大的特點(diǎn)。
描述
Go的語(yǔ)法接近C語(yǔ)言,但對(duì)于變量的聲明有所不同。Go支持垃圾回收功能。Go的并行模型是以東尼·霍爾的通信順序進(jìn)程(CSP)為基礎(chǔ),采取類似模型的其他語(yǔ)言包括Occam和Limbo,但它也具有Pi運(yùn)算的特征,比如通道傳輸。
在1.8版本中開(kāi)放插件(Plugin)的支持,這意味著現(xiàn)在能從Go中動(dòng)態(tài)加載部分函數(shù)。
與C++相比,Go并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能,但增加了 切片(Slice) 型、并發(fā)、管道、垃圾回收、接口(Interface)等特性的語(yǔ)言級(jí)支持。
分享文章:go語(yǔ)言除法異常 golang除法
鏈接URL:http://chinadenli.net/article32/ddegdsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、域名注冊(cè)、Google、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)