欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go panic時如何讓函數(shù)返回數(shù)據(jù)?

 更新時間:2019年04月09日 09:46:35   作者:stpeace  
今天小編就為大家分享一篇關于go panic時如何讓函數(shù)返回數(shù)據(jù)?,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

現(xiàn)在有這樣一個問題:某函數(shù)如果正常執(zhí)行,返回0,如果panic,則返回1,怎么搞呢?

package main 
import "fmt" 
func test() int {
 defer func() {
 if err := recover(); err != nil {
  return 1
 }
 }()
 var p *int
 *p = 0
 return 0
}
func main() {
 fmt.Println("ret is", test())
 for {}
}

這樣顯然不行,因為那個return 1是針對匿名函數(shù)的, 而非test函數(shù)。

來看一個巧妙的方法:

package main 
import "fmt" 
func test() (a int) {
 defer func() {
 if err := recover(); err != nil {
  a = 1
 }
 }()
 var p *int
 *p = 0
 return 0
}
func main() {
 fmt.Println("ret is", test())
 for {}
}

OK.

不多說。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

相關文章

  • Go遞歸修改文件名的實例代碼

    Go遞歸修改文件名的實例代碼

    這篇文章主要介紹了Go遞歸修改文件名的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的餓參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Go語言中的range用法實例分析

    Go語言中的range用法實例分析

    這篇文章主要介紹了Go語言中的range用法,實例分析了range的功能與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 一文搞懂Golang中的內(nèi)存逃逸

    一文搞懂Golang中的內(nèi)存逃逸

    內(nèi)存逃逸是 Go 語言中一個重要的概念,涉及到程序的性能優(yōu)化和內(nèi)存管理,了解內(nèi)存逃逸可以幫助我們編寫更高效的代碼,本文將從基本概念入手,深入講解 Go 語言中的內(nèi)存逃逸現(xiàn)象,以及如何避免,需要的朋友可以參考下
    2023-12-12
  • Golang異常處理之優(yōu)雅地控制和處理異常

    Golang異常處理之優(yōu)雅地控制和處理異常

    在Golang中,異常處理是非常重要的一部分,能夠有效地控制和處理代碼中的異常情況。通過Golang的異常處理機制,可以優(yōu)雅地捕獲和處理異常,保障代碼的可靠性和穩(wěn)定性。同時,Golang還提供了豐富的工具和API,幫助開發(fā)者更加輕松地進行異常處理
    2023-04-04
  • golang數(shù)組-----尋找數(shù)組中缺失的整數(shù)方法

    golang數(shù)組-----尋找數(shù)組中缺失的整數(shù)方法

    這篇文章主要介紹了golang數(shù)組-----尋找數(shù)組中缺失的整數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang map實現(xiàn)原理深入分析

    Golang map實現(xiàn)原理深入分析

    map是一種無序的基于key-value的數(shù)據(jù)結構,Go語言中的map是引用類型,必須初始化才能使用,下面這篇文章主要給大家介紹了關于golang中map使用的幾點注意事項,需要的朋友可以參考下
    2023-01-01
  • Golang實踐指南之獲取目錄文件列表

    Golang實踐指南之獲取目錄文件列表

    在搭建項目中一般都會有確定項目根目錄的絕對路徑的需求,下面這篇文章主要給大家介紹了關于Golang實踐指南之獲取目錄文件列表的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Go每日一庫之quicktemplate的使用

    Go每日一庫之quicktemplate的使用

    quicktemplate快速、功能強大、易于使用的Go模板引擎。比html/模板快20倍,本文我們就詳細的介紹一下quicktemplate的具體使用,感興趣的可以了解一下
    2021-07-07
  • Go語言的IO庫那么多糾結該如何選擇

    Go語言的IO庫那么多糾結該如何選擇

    在Go語言中涉及 I/O 操作的內(nèi)置庫有很多種,比如: io 庫, os 庫, ioutil 庫, bufio 庫, bytes 庫, strings 庫等等。擁有這么多內(nèi)置庫是好事,但是具體到涉及 I/O 的場景我們應該選擇哪個庫呢,帶著這個問題一起通過本文學習下吧
    2021-06-06
  • Go模板后端渲染時vue單頁面沖突

    Go模板后端渲染時vue單頁面沖突

    go后端模版語法是通過 {{}} ,vue也是通過雙花括號來渲染的,如果使用go渲染vue的html頁面的時候就會報錯,本文主要介紹了Go模板后端渲染時vue單頁面沖突,感興趣的可以了解一下
    2024-01-01

最新評論