亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > golang中struct和interface的基礎使用教程

golang中struct和interface的基礎使用教程

熱門標簽:汕頭小型外呼系統 惠州電銷防封電話卡 釘釘有地圖標注功能嗎 濱州自動電銷機器人排名 鄭州亮點科技用的什么外呼系統 黃岡人工智能電銷機器人哪個好 浙江高頻外呼系統多少錢一個月 阿里云ai電話機器人 建造者2地圖標注

前言

本文主要給大家介紹了關于golang中struct和interface的相關內容,是屬于golang的基本知識,下面話不多說了,來一起看看詳細的介紹吧。

struct

struct 用來自定義復雜數據結構,可以包含多個字段(屬性),可以嵌套;go中的struct類型理解為類,可以定義方法,和函數定義有些許區別;struct類型是值類型。

struct定義

type User struct {
 Name string
 Age int32
 mess string
}
var user User
var user1 *User = User{}
var user2 *User = new(User)

struct的方法

在go語言中,我們可以為自定義類型定義類型相關的方法,比如:

func (p *player) Name() string{
 return p.name
}

上面的代碼為player這個自定義類型聲明了一個名為Name的方法,該方法返回一個string。值得注意的是(p *player)這段代碼指定了我們是為player創建方法,并將調用該方法的實例指針當作變量p傳入該函數,如果沒有(p *player)這段代碼,這個方法就變成了一個普通的全局函數。

struct的嵌入(Embedding)

go語言中的“繼承”和其他語言中的繼承有很大區別,比如:

type player struct{
 User
}

這是一種“繼承”的寫法,在go語言中這種方式叫做“嵌入”(embed),此時player類型就擁有了User類型的Name等變量

struct的tag

這種方式主要是用在xml,json和struct間相互轉換,非常方便直觀,比如接口給的參數一般是json傳過來,但是內部我們要轉為struct再進行處理。

例子:

import "encoding/json"
type User struct {
 Name string `json:"userName"`
 Age int `json:"userAge"`
}
func main() {
 var user User
 user.Name = "nick"
 user.Age = 18 
 conJson, _ := json.Marshal(user)
 fmt.Println(string(conJson)) //{"userName":"nick","userAge":0}
}

interface

golang不支持完整的面向對象思想,它沒有繼承,多態則完全依賴接口實現。golang只能模擬繼承,其本質是組合,只不過golang語言為我們提供了一些語法糖使其看起來達到了繼承的效果。Golang中的接口,不需要顯示的實現。Interface類型可以定義一組方法,但是這些不需要實現。并且interface不能包含任何變量。只要一個變量,含有接口類型中的所有方法,那么這個變量就實現這個接口。因此,golang中沒有implement類似的關鍵字;如果一個變量含有了一個interface類型的多個方法,那么這個變量就實現了多個接口;如果一個變量只含有了一個interface的方部分方法,那么這個變量沒有實現這個接口。

interface的定義

interface類型默認是一個指針。

例子:

Interface定義

type Car interface {
 NameGet() string
 Run(n int)
 Stop()
}

空接口 Interface{}:空接口沒有任何方法,所以所有類型都實現了空接口。

var a int
var b interface{} //空接口
b = a

interface的多態

一種事物的多種形態,都可以按照統一的接口進行操作。這種方式是用的最多的,有點像c++中的類繼承。

例子:

type Item interface {
 Name() string
 Price() float64
}
 
type VegBurger struct {
}
 
func (r *VegBurger) Name() string{
 return "vegburger"
}
 
func (r *VegBurger) Price() float64{
 return 1.5
}
 
type ChickenBurger struct {
}
 
func (r *ChickenBurger) Name() string{
 return "chickenburger"
}
 
func (r *ChickenBurger) Price() float64{
 return 5.5
}

Interface嵌套

一個接口可以嵌套在另外的接口。即需要實現2個接口的方法。在下面的例子中Used就包含了Car這個接口的所有方法。
例子:

type Car interface {
 NameGet() string
 Run(n int)
 Stop()
}
type Used interface {
 Car
 Cheap()
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 使用go的interface案例實現多態范式操作
  • Go語言實現類似c++中的多態功能實例
  • golang語言如何將interface轉為int, string,slice,struct等類型
  • golang基礎之Interface接口的使用
  • golang struct 實現 interface的方法
  • Go之interface的具體使用
  • Go語言中你不知道的Interface詳解
  • golang中interface接口的深度解析
  • 淺談Go語言多態的實現與interface使用

標簽:滄州 晉中 泰安 駐馬店 東營 瀘州 昭通 阿壩

巨人網絡通訊聲明:本文標題《golang中struct和interface的基礎使用教程》,本文關鍵詞  golang,中,struct,和,interface,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang中struct和interface的基礎使用教程》相關的同類信息!
  • 本頁收集關于golang中struct和interface的基礎使用教程的相關信息資訊供網民參考!
  • 推薦文章
    日韩中文字幕在线亚洲一区 | 九九精品影院| 国产精品自拍亚洲| 日韩在线观看视频黄| 亚欧乱色一区二区三区| 国产一级生活片| 四虎久久影院| 亚洲www美色| 日本免费看视频| 久久国产一区二区| 国产极品白嫩美女在线观看看| 午夜激情视频在线观看 | 国产成+人+综合+亚洲不卡| 国产亚洲男人的天堂在线观看| 九九九国产| 99久久精品国产免费| 一级毛片视频免费| 欧美激情一区二区三区视频 | 精品国产一区二区三区久久久蜜臀| 韩国毛片免费大片| 超级乱淫黄漫画免费| 亚洲第一页色| 一级女性全黄生活片免费| 日本免费乱理伦片在线观看2018| 久草免费在线观看| 欧美大片毛片aaa免费看| 国产伦理精品| 国产91素人搭讪系列天堂| 精品久久久久久中文| 日韩专区第一页| 免费的黄视频| 色综合久久天天综线观看| 欧美一级视频免费观看| 免费国产一级特黄aa大片在线| 亚洲精品中文字幕久久久久久| 亚飞与亚基在线观看| 欧美1区| 精品在线观看国产| 欧美激情影院| 青青久久网| 色综合久久天天综合| 精品久久久久久免费影院| 国产成人精品影视| 欧美激情一区二区三区视频高清| 在线观看成人网 | 日韩综合| 在线观看成人网| 99热精品在线| 999精品在线| 亚洲天堂在线播放| 亚洲第一色在线| 亚洲天堂在线播放| 午夜精品国产自在现线拍| 一级毛片视频播放| 国产亚洲男人的天堂在线观看| 99色播| 日韩一级精品视频在线观看| 日本伦理片网站| 一 级 黄 中国色 片| 色综合久久手机在线| 91麻豆精品国产自产在线观看一区| 精品视频在线观看一区二区三区| 日本免费看视频| 国产原创中文字幕| 国产a视频精品免费观看| 国产麻豆精品| 韩国三级视频网站| 日本在线播放一区| 午夜欧美成人久久久久久| 欧美a级片免费看| 国产成人女人在线视频观看| 国产成+人+综合+亚洲不卡| 国产视频一区在线| 青青青草影院| 国产91精品露脸国语对白| 国产视频在线免费观看| 深夜做爰性大片中文| 日本在线www| 色综合久久天天综合绕观看| 日韩一级精品视频在线观看| 成人在免费观看视频国产| 国产麻豆精品高清在线播放| 欧美1区2区3区| 99色播| 国产伦精品一区三区视频| 精品国产一区二区三区久久久狼| 久久99中文字幕| 欧美a级大片| 国产不卡精品一区二区三区| 91麻豆精品国产自产在线观看一区| 精品国产一区二区三区久久久蜜臀| 精品视频一区二区三区| 欧美日本韩国| 亚洲第一色在线| 深夜做爰性大片中文| 午夜激情视频在线观看| 国产激情一区二区三区| 欧美激情一区二区三区中文字幕| 久久精品店| 国产视频一区二区在线观看 | 日韩在线观看视频黄| 亚洲天堂在线播放| 亚洲女人国产香蕉久久精品| 久久99这里只有精品国产| 色综合久久天天综线观看| 91麻豆高清国产在线播放| 日韩一级黄色片| 欧美爱色| 国产亚洲男人的天堂在线观看| 成人免费观看的视频黄页| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美另类videosbestsex久久| 黄色福利| 亚洲精品影院| 国产91丝袜在线播放0| 高清一级片| 韩国毛片基地| 精品国产一区二区三区国产馆| 欧美国产日韩久久久| 高清一级做a爱过程不卡视频| 可以免费看污视频的网站| 日日爽天天| 国产美女在线观看| 在线观看成人网 | 四虎久久影院| 九九九网站| 亚洲 男人 天堂| 亚洲精品影院| 国产视频在线免费观看| 国产不卡高清| 欧美大片毛片aaa免费看| 国产原创中文字幕| 精品国产一区二区三区国产馆| 日日爽天天| 国产91精品系列在线观看| 国产伦久视频免费观看视频| 精品久久久久久中文| 99色视频在线观看| a级毛片免费观看网站| 国产福利免费观看| 人人干人人草| 在线观看成人网| 国产福利免费观看| 日韩一级黄色片| 色综合久久天天综合绕观看| 四虎影视久久| 日本特黄特色aa大片免费| 天天做人人爱夜夜爽2020 | 国产亚洲精品成人a在线| 九九干| 四虎论坛| 国产视频一区二区在线观看| 亚洲第一页色| 国产麻豆精品hdvideoss| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩专区一区| 国产综合成人观看在线| 国产伦精品一区二区三区无广告 | 亚洲天堂在线播放| 成人免费观看视频| 国产一级强片在线观看| 日韩专区一区| 成人免费网站视频ww| 亚飞与亚基在线观看| 色综合久久天天综线观看| 国产一区二区精品| 青青青草影院 | 日日日夜夜操| 国产成人女人在线视频观看 | 久久精品大片| 一级毛片看真人在线视频| 国产一区二区精品久久91| 国产极品精频在线观看| 日韩中文字幕在线播放| 亚欧视频在线| 午夜欧美成人香蕉剧场| 亚洲天堂免费观看| 天堂网中文在线| 日韩一级精品视频在线观看| 国产极品白嫩美女在线观看看| 免费国产在线观看| 高清一级淫片a级中文字幕| 欧美电影免费看大全| 夜夜操天天爽| 久久久久久久男人的天堂| 欧美激情一区二区三区中文字幕| 国产一区国产二区国产三区| 久久精品道一区二区三区| 日本特黄一级| 精品在线观看国产| 国产成+人+综合+亚洲不卡| 久草免费在线色站| 欧美a级片免费看| 国产亚洲精品aaa大片| 国产一区二区精品尤物| 精品视频在线看| 国产一区二区精品| 青青久久国产成人免费网站| 国产国语对白一级毛片| 国产不卡在线观看视频|