go 語言中的繼承

2021-07-28 03:48:56 字數 465 閱讀 8597

go 語言中可以通過匿名field來實現繼承的效果,

type t1 struct 

func (t t1) log()

func (t *t1) print()

type t2 struct

t2 t2{}

可以通過t2.log()直接訪問t1的method,就像物件導向的繼承之後一樣訪問,不過這裡要注意的傳遞到log的是t1而不是t2

struct
所以下面的宣告會出現命名衝突

struct
匿名field的成員field和普通的field操作一樣

t2 =t2{}

t2.a

唯一不同的是在初始化的時候不能這樣寫:

t2 =t2

Go語言中的常量

常量,一經定義不可更改的量。功能角度看,當出現不需要被更改的資料時,應該使用常量進行儲存,例如圓周率。從語法的角度看,使用常量可以保證資料,在整個執行期間內,不會被更改。例如當預處理器的架構型別,可以保證不被更改。語法如下 const 常量名 可選的型別 常量值 const c1 int 1000g...

go語言中的map

package main import fmt sort func main 同上 var b map int string make map int string 通過make建立map var c make map int string 簡化寫法 d make map int string 設定...

go語言中的函式

package main import fmt func main 這裡傳入的是乙個slice,但外部變數確改變了,說明是位址拷貝。c d fmt.println d e 2 這裡把e的位址傳遞過去 d e fmt.println e 函式e賦值給f f e f 匿名函式 g func g 使用閉包...