GO語言學習筆記(二)
阿新 • • 發佈:2019-02-12
- 為型別新增方法
package main import ( "fmt" ) type Integer int func (a Integer) Less(b Integer) bool { return a < b } func main() { var a Integer = 1 if a.Less(2) { fmt.Println("Less true.") } } 結果輸出:Less true.
- 只有在你需要修改物件的時候,才必須用指標
- 因為陣列切片的內部是指向陣列的指標,所以可以改變陣列的內容
package main import ( "fmt" ) func modifyslice(array []int) { slice1 := array[1:2] fmt.Println(slice1) slice1[0] = 4 fmt.Println(slice1) fmt.Println(array) } func main() { modifyslice([]int{1,2,3}) } 結果輸出: [2] [4] [1 4 3]
- Go語言放棄了例如繼承等面向物件的概念,只保留了組合
- 介面的型別查詢
var file1 Writer = ... if file5, ok := file1.(two.IStream); ok { ... }