在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ GO/ Go語(yǔ)言錯(cuò)誤處理
Go panic錯(cuò)誤處理實(shí)例
Go命令行參數(shù)實(shí)例
Go可變參數(shù)的函數(shù)實(shí)例
Go通道同步實(shí)例
Go非阻塞通道操作實(shí)例
Go指針實(shí)例
Go數(shù)字解析實(shí)例
Go語(yǔ)言指針
Go超時(shí)(timeouts)實(shí)例
Go速率限制實(shí)例
Go信號(hào)實(shí)例
Go Base64編碼實(shí)例
Go計(jì)時(shí)器實(shí)例
Go命令行標(biāo)志實(shí)例
Go原子計(jì)數(shù)器實(shí)例
Go語(yǔ)言切片
Go隨機(jī)數(shù)實(shí)例
Go語(yǔ)言類型轉(zhuǎn)換
Go排序?qū)嵗?/span>
Go時(shí)間格式化/解析實(shí)例
Go URL解析實(shí)例
Go字符串函數(shù)實(shí)例
Go語(yǔ)言常量
Go for循環(huán)語(yǔ)句實(shí)例
Go函數(shù)多個(gè)返回值實(shí)例
Go切片實(shí)例
Go行過(guò)濾器實(shí)例
Go語(yǔ)言接口
Go語(yǔ)言數(shù)組
Go語(yǔ)言變量
Go字符串格式化實(shí)例
Go斷續(xù)器實(shí)例
Go if/else語(yǔ)句實(shí)例
Go通道緩沖實(shí)例
Go錯(cuò)誤實(shí)例
Go語(yǔ)言映射
Go執(zhí)行過(guò)程實(shí)例
Go函數(shù)實(shí)例
Go有狀態(tài)的goroutines實(shí)例
Go按自定義函數(shù)排序?qū)嵗?/span>
Go語(yǔ)言作用域規(guī)則
Go時(shí)代(Epoch)實(shí)例
Go變量實(shí)例
Go互斥體實(shí)例
Go語(yǔ)言范圍(range)
Go程序?qū)嵗?/span>
Go語(yǔ)言入門
Go通道路線實(shí)例
Go閉包(匿名函數(shù))實(shí)例
Go Select實(shí)例
Go通道范圍實(shí)例
Go集合函數(shù)實(shí)例
Hello World程序?qū)嵗?/span>
Go環(huán)境變量實(shí)例
Go語(yǔ)言運(yùn)算符
Go讀取文件實(shí)例
Go延遲(defer)實(shí)例
Go SHA1哈希實(shí)例
Go語(yǔ)言條件和決策
Go語(yǔ)言錯(cuò)誤處理
Go通道實(shí)例
Go指針實(shí)例
Go時(shí)間日期實(shí)例
Go語(yǔ)言字符串
Go語(yǔ)言循環(huán)
Go語(yǔ)言基礎(chǔ)語(yǔ)法
Go語(yǔ)言開(kāi)發(fā)環(huán)境安裝配置
Go常量實(shí)例
Go語(yǔ)言結(jié)構(gòu)體
Go寫(xiě)文件實(shí)例
Go正則表達(dá)式實(shí)例
Go JSON實(shí)例
Go語(yǔ)言教程
Go關(guān)閉通道實(shí)例
Go接口實(shí)例
Go語(yǔ)言遞歸
Go switch語(yǔ)句實(shí)例
Go函數(shù)遞歸實(shí)例
Go退出程序?qū)嵗?/span>
Go語(yǔ)言程序結(jié)構(gòu)
Go范圍實(shí)例
Go語(yǔ)言函數(shù)
Go工作池實(shí)例
Go語(yǔ)言數(shù)據(jù)類型

Go語(yǔ)言錯(cuò)誤處理

Go編程提供了一個(gè)非常簡(jiǎn)單的錯(cuò)誤處理框架,以及內(nèi)置的錯(cuò)誤接口類型,如下聲明:

type error interface {
   Error() string
}

函數(shù)通常返回錯(cuò)誤作為最后一個(gè)返回值。 可使用errors.New來(lái)構(gòu)造一個(gè)基本的錯(cuò)誤消息,如下所示:

func Sqrt(value float64)(float64, error) {
   if(value < 0){
      return 0, errors.New("Math: negative number passed to Sqrt")
   }
   return math.Sqrt(value)
}

使用返回值和錯(cuò)誤消息,如下所示 -

result, err:= Sqrt(-1)

if err != nil {
   fmt.Println(err)
}

示例

package main

import "errors"
import "fmt"
import "math"

func Sqrt(value float64)(float64, error) {
   if(value < 0){
      return 0, errors.New("Math: negative number passed to Sqrt")
   }
   return math.Sqrt(value), nil
}

func main() {
   result, err:= Sqrt(-1)

   if err != nil {
      fmt.Println(err)
   }else {
      fmt.Println(result)
   }

   result, err = Sqrt(9)

   if err != nil {
      fmt.Println(err)
   }else {
      fmt.Println(result)
   }
}

當(dāng)上述代碼編譯和執(zhí)行時(shí),它產(chǎn)生以下結(jié)果:

Math: negative number passed to Sqrt
3