golang 基礎 介面定義

2021-09-18 01:42:29 字數 1042 閱讀 3827

demo4.go

package main

import "fmt"

type student struct

func (this student) init(name string,age int,*** int)

func main()

s.init("張高元",20,1)

fmt.println(s)

}

我們列印發現init方法初始化沒有對student這個strcut結構體的值做任何改變, 如果我們想要做到改變怎麼做呢? 只需要在實現介面的方法 加上* (指標)即可.

package main

import "fmt"

type integer int

func (i integer) print() inte***ce{}

type student struct

func (this *student) init(name string,age int,*** int)

func (s student) get() student

func main()

// todo (&s).init("張高元",20,1) 本來我們使用了指標需要這樣寫,但是 golang 為我們做了封裝.所以我們不再需要自己寫了.簡寫成下面的方式即可.

s.init("張高元",20,1)

stu := s.get()

fmt.println(stu)

fmt.println(s)

// todo 2

var a integer

a = 100

_a := a.print()

fmt.println(_a)

}

發現值已經成功修改.golang預設所有的值都是傳遞的方式.

Golang 基礎系列十六 Go 語言介面

go 語言中的介面就是方法簽名的集合,介面只有宣告,沒有實現,不包含變數。定義介面 type 介面名 inte ce 例子 type isay inte ce 實現介面 例子 定義介面的實現類 type chinese struct 實現介面 func chinese sayhi 中國人 type ...

Golang 定義變數

golang 定義變數 golang的變數可以由字母數字和下劃線組成,但是首字元不能為數字。golang是靜態型別語言,變數必須宣告型別。定義變數使用 var 關鍵字。變數小知識 在golang當中如果只是宣告了變數,但是並沒有使用這個變數的話,會提示乙個declared and not used的...

關於golang面向介面

傳統語言的繼承多型由go語言的介面完成 所以go語言的介面比較靈活 go語言介面由使用者定義 傳統語言由實現者定義 先來乙個簡單的介面示例 package mock 介面方法專用包 type retriever struct func r retriever get url string strin...