Go的空介面
摘要:空介面(interface{})不包含任何的方法,正因為如此,所有的型別都實現了空介面,因此空介面可以儲存任意型別的數值。它有點類似於C語言的void *型別。
var v1 interface{} = 1// 將int型別賦值給interface{}
var v2 in...
空介面(interface{})不包含任何的方法,正因為如此,所有的型別都實現了空介面,因此空介面可以儲存任意型別的數值。它有點類似於C語言的void *型別。 var v1 interface{} = 1// 將int型別賦值給interface{} var v2 interface{} = "abc" // 將string型別賦值給interface{} var v3 interface{} = &v2// 將*interface{}型別賦值給interface{} var v4 interface{} = struct{ X int }{1} var v5 interface{} = &struct{ X int }{1} 當函式可以接受任意的物件例項時,我們會將其宣告為interface{},最典型的例子是標準庫fmt中PrintXXX系列的函式,例如: func Printf(fmt string, args ...interface{}) func Println(args ...interface{})