首页
/
每日頭條
/
生活
/
chm編譯慢
chm編譯慢
更新时间:2025-01-30 23:39:12

chm編譯慢?Go中提供了兩種處理異常的方式type error interface{ Error() string },現在小編就來說說關于chm編譯慢?下面内容希望能幫助到你,我們來一起看看吧!

chm編譯慢(編寫好的錯誤處理)1

chm編譯慢

Go中提供了兩種處理異常的方式

  • 一種是程序發生異常時, 将異常信息反饋給使用者
  • 一種是程序發生異常時, 立刻退出終止程序繼續運行
1、Go的錯誤機制
  • Go沒有異常機制
  • error類型實現了error接口

type error interface{ Error() string }

Go語言中提供了兩種創建異常信息的方式

  • 方式一: 可以通過errors.News來快速創建錯誤實例

errors.New("n must be in the range [0,10]")

package error_Test import ( "errors" "testing" ) func GetFibonacci(n int) ([]int, error) { if n < 2 || n > 100 { // 設置error返回 return nil, errors.New("n's should be in [2,100]") } fibList := []int{1, 1} for i := 2; i < n; i { fibList = append(fibList, fibList[i-2] fibList[i-1]) } return fibList, nil } func TestGetFibonacci(t *testing.T) { if v, err := GetFibonacci(-10); err != nil { t.Error(err) } else { t.Log(v) } }

  • 方式二: 通過fmt包中的Errorf函數創建錯誤信息, 然後打印

package main import "fmt" func main() { // 1.創建錯誤信息 var err error = fmt.Errorf("這裡是錯誤信息") // 2.打印錯誤信息 fmt.Println(err) // 這裡是錯誤信息 }

2、創建異常信息實現原理解析
  • Go語言中創建異常信息其實都是通過一個error接口實現的
  • Go語言再builtin包中定義了一個名稱叫做error的接口,源碼如下

package builtin // 定義了一個名稱叫做error的接口 // 接口中聲明了一個叫做Error() 的方法 type error interface { Error() string }

  • 在errors包中定義了一個名稱叫做做errorString的結構體, 利用這個結構體實現了error接口中指定的方法
  • 并且在errors 包中還提供了一個New方法, 用于創建實現了error接口的結構體對象, 并且在創建時就會把指定的字符串傳遞給這個結構體

// 指定包名為errors package errors // 定義了一個名稱叫做errorString的結構體, 裡面有一個字符串類型屬性s type errorString struct { s string } // 實現了error接口中的Error方法 // 内部直接将結構體中保存的字符串返回 func (e *errorString) Error() string { return e.s } // 定義了一個New函數, 用于創建異常信息 // 注意: New函數的返回值是一個接口類型 func New(text string) error { // 返回一個創建好的errorString結構體地址 return &errorString{text} }

  • fmt包中Errorf底層的實現原理其實就是在内部自動調用了errors包中的New函數

func Errorf(format string, a ...interface{}) error { return errors.New(Sprintf(format, a...)) }

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
三伏天用什麼排濕氣寒氣最好?
三伏天用什麼排濕氣寒氣最好?
01伏天去濕氣寒氣的辦法:1、少吃甜、膩的食物。如果你身體有濕氣少吃甜膩食物,因為甜膩容易轉化為濕氣。2、别吃生冷食物。3、别喝酒。4、可以多吃姜去寒濕。5、可以多吃綠豆、西瓜、扁豆來去濕寒氣。三伏天是一年中最熱的時候,這段時間也是冬病夏治的好時候,非常适合排除體内的寒濕,伏天去濕氣寒氣的辦法:1、...
2025-01-30
大型床罩與被套洗滌方法
大型床罩與被套洗滌方法
大型床罩與被套洗滌方法:如果并不肯定床罩與被套可用洗衣機洗,最好的方法是幹洗,以免縮水。但必須先行過水及脫水,這樣便能清除大部分塵垢。清洗後,保持微濕,待晾幹後,便可恢複原狀。
2025-01-30
巧開鏽鎖
巧開鏽鎖
巧開鏽鎖的材料:普通白紙、鉛筆、一把小刀。巧開鏽鎖步驟:1、把白紙墊在桌子上,把鉛筆芯削成粉末。2、把削下來的鉛筆芯,倒在鎖眼裡,同時也可以把鉛筆芯塗在鑰匙上,然後就可以鑰匙插進去,就像這樣,先反複多插幾次,讓鑰匙和鎖之間充分潤滑,同時破壞掉鐵鏽,最後就可以慢慢的試試左右擰開了。
2025-01-30
二月二的風俗有哪些?
二月二的風俗有哪些?
南方部分地區有祭社習俗,即慶祝土地公生日;北方則有吃豬頭肉、理發(剪“龍頭”)的習俗。根據民間傳說,此為主管雲雨的龍王擡頭之日,意味着在此之後雨水會漸多;民間亦有“二月二,龍擡頭”的諺語,表示春季來臨,萬物複蘇,蟄龍開始活動,預示一年的農事活動即将開始。龍擡頭(農曆二月二),又稱“春耕節”“農事節”...
2025-01-30
科目二s彎技巧看點位置有哪些?
科目二s彎技巧看點位置有哪些?
保持全程一擋行駛,打方向不可過急;進入彎道後盡量走大圈,駛向右彎道時,右輪緊貼着右邊路邊緣線;處于彎道時,通過轉向盤讓汽車内側車蓋頭上的小後視鏡始終處于外側白線邊緣;根據路彎的特點和後輪半徑及時調整方向。曲線行駛的訓練目的是培養機動車駕駛人轉向的運用及對車輪軌迹運行的掌握技能。了解曲線行駛的路線圖是...
2025-01-30
Copyright 2023-2025 - www.tftnews.com All Rights Reserved