1. 程式人生 > 其它 >Go從入門到精通——計算中的異常處理

Go從入門到精通——計算中的異常處理

計算中的異常處理

  Go 語言處理程式執行異常的方法與目前大多數主流開發語言都有所不同,不是使用常見的 try-catch 程式碼塊的方式,而是使用了 panic-defer-recover 機制。

1、Go語言的匿名函式

  Go 語言中文支援匿名函式(anonymous function),這是一個高階機制,可以把函式當作一個值並賦值給變數。

package main

import (
	"fmt"
)

func main() {
	a := func() {
		fmt.Println("TEST")
	}
	a() //呼叫 func(),函式中列印一次 "TEST"
	var b func()
	b = a
	b() //呼叫 func(),函式中列印一次 "TEST"
}

  將一個函式賦值給了變數 a,這是一個匿名函式的基本用法。

  由於匿名函式,所以 func 關鍵字之後沒有函式名而是表示函式引數宣告的圓括號。由於本例中的函式不需要引數,所以圓括號內不需要任何內容,函式體的花括號內僅呼叫 fmt.Println 函式輸出一個字串 "TEST"。由於此時變數 a 已經是一個函式型別變數,它的值就是一個函式,所以可以直接用 a() 的形式來呼叫該函式,即用變數名加上表示函式引數宣告的圓括號。

注意:

  匿名函式既不需要引數也沒有返回值,因此函式型別的變數宣告僅寫 func() 就可以了,如果有引數或返回值,需要加上相應的內容。