婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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的基礎使用教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一级精品大片| 91福利区一区二区三区| 亚洲午夜久久久久| 日韩一区有码在线| 日韩久久一区二区| 亚洲欧美电影院| 一级中文字幕一区二区| 一区二区三区产品免费精品久久75| 中文字幕在线免费不卡| 国产精品国产三级国产普通话蜜臀| 中文字幕成人在线观看| 国产精品国产a| 一区二区三区鲁丝不卡| 亚洲自拍都市欧美小说| 首页国产欧美久久| 久久国产精品99久久人人澡| 国产精品888| 成人精品视频一区| 在线一区二区三区四区| 欧日韩精品视频| 777亚洲妇女| 久久久综合视频| 中文字幕av一区二区三区高| 一区二区三区高清在线| 美腿丝袜在线亚洲一区| 懂色av一区二区夜夜嗨| 欧美在线你懂的| 精品美女一区二区| 成人欧美一区二区三区1314| 亚洲丰满少妇videoshd| 捆绑变态av一区二区三区| 成人免费视频一区| 欧美日韩午夜精品| 久久久亚洲午夜电影| 亚洲老妇xxxxxx| 麻豆精品视频在线观看视频| jizzjizzjizz欧美| 在线播放亚洲一区| 国产精品萝li| 丝袜a∨在线一区二区三区不卡| 国产一区二区影院| 在线观看欧美精品| 精品剧情在线观看| 亚洲伊人色欲综合网| 久久99九九99精品| 欧美无砖砖区免费| 国产女同性恋一区二区| 日韩国产成人精品| 一本在线高清不卡dvd| 久久综合给合久久狠狠狠97色69| 一区二区在线观看视频在线观看| 国产一区美女在线| 欧美一二三四在线| 一区二区三区中文字幕| 国产91精品露脸国语对白| 日韩一区二区三区四区| 亚洲综合免费观看高清完整版 | 在线观看精品一区| 国产欧美一区二区精品忘忧草| 日韩在线a电影| 91久久精品一区二区二区| 国产精品欧美久久久久无广告| 麻豆中文一区二区| 欧美乱熟臀69xxxxxx| 亚洲自拍偷拍麻豆| 欧美在线不卡视频| 亚洲一区二区不卡免费| 91免费在线播放| 亚洲男同性恋视频| 91在线国内视频| 亚洲欧美二区三区| 欧美性受xxxx黑人xyx| 伊人开心综合网| 欧美伊人久久久久久久久影院 | 日本一区二区三区高清不卡| 韩国午夜理伦三级不卡影院| 欧美精品一区二区在线观看| 久久99精品久久久久久久久久久久 | 看国产成人h片视频| 日韩欧美aaaaaa| 国产一区二区在线看| 国产欧美日韩激情| 99riav一区二区三区| 夜夜精品视频一区二区| 欧美日韩国产色站一区二区三区| 婷婷六月综合网| 欧美va亚洲va国产综合| 国产福利不卡视频| 中文字幕一区二区三区不卡| 91久久精品午夜一区二区| 日韩经典一区二区| 精品国产污污免费网站入口 | 成人动漫一区二区三区| 亚洲欧美日韩一区| 欧美日韩国产免费一区二区 | 成人免费视频网站在线观看| 国产精品你懂的在线| 一本大道av一区二区在线播放| 天堂av在线一区| 久久综合色播五月| 一本一道久久a久久精品| 奇米精品一区二区三区在线观看| 久久久久久毛片| 在线精品亚洲一区二区不卡| 玖玖九九国产精品| 亚洲品质自拍视频| 日韩一区二区三| 91视视频在线直接观看在线看网页在线看| 亚洲午夜一区二区三区| 26uuu精品一区二区三区四区在线| 不卡的av电影| 日韩av电影一区| 亚洲色欲色欲www| 精品国产髙清在线看国产毛片| 91在线视频网址| 国产综合一区二区| 日韩电影在线免费看| 中文字幕色av一区二区三区| 日韩视频免费观看高清完整版| eeuss影院一区二区三区| 裸体健美xxxx欧美裸体表演| 亚洲激情五月婷婷| 国产日本亚洲高清| 日韩精品中文字幕在线不卡尤物| 日本福利一区二区| 国产a久久麻豆| 黄色成人免费在线| 男女视频一区二区| 亚洲综合图片区| 中文字幕亚洲综合久久菠萝蜜| 精品成人一区二区三区四区| 4438x亚洲最大成人网| 97se狠狠狠综合亚洲狠狠| 国产成人免费9x9x人网站视频| 七七婷婷婷婷精品国产| 亚洲高清免费观看| 亚洲精选免费视频| 亚洲欧洲一区二区在线播放| 国产精品三级在线观看| 久久久亚洲国产美女国产盗摄 | 国产精品自拍一区| 麻豆国产欧美日韩综合精品二区| 亚洲永久精品大片| 怡红院av一区二区三区| 国产精品福利一区| 国产精品久久久久久久久久久免费看 | 欧美激情一区二区| 国产婷婷一区二区| 久久久www免费人成精品| 久久久久久日产精品| 久久久精品日韩欧美| 精品国产一区二区三区av性色| 精品国产欧美一区二区| 国产欧美一区二区精品仙草咪| 国产日韩欧美精品一区| 国产精品色哟哟| 亚洲免费av网站| 夜夜嗨av一区二区三区网页| 午夜欧美大尺度福利影院在线看| 亚洲综合一区二区三区| 日韩av网站免费在线| 国产乱子轮精品视频| 国产精品一二三四| 91在线视频播放地址| 欧美日韩亚洲国产综合| 精品国精品自拍自在线| 中文字幕av在线一区二区三区| 亚洲三级理论片| 青青国产91久久久久久| 国产精品99久久久久久久女警 | 东方欧美亚洲色图在线| 99国产精品久久久久久久久久| 欧美日韩专区在线| 欧美大片在线观看一区| 中文字幕一区二区三区四区| 婷婷开心激情综合| 成人福利视频在线| 欧美日韩一本到| 国产午夜精品美女毛片视频| 一区二区久久久久| 久久国产精品99久久人人澡| 91丨九色丨国产丨porny| 欧美一级片免费看| 中文字幕五月欧美| 精品一区二区三区在线观看 | 高清日韩电视剧大全免费| 91国偷自产一区二区开放时间| 欧美一区二区三区影视| 亚洲欧美在线观看| 久久精品国产在热久久| 色哟哟日韩精品| 国产欧美一区二区三区网站| 日韩精品电影在线| 91在线视频网址| 国产亲近乱来精品视频| 五月天丁香久久| 色天天综合色天天久久| 国产精品欧美久久久久无广告| 麻豆国产精品官网| 在线成人免费观看|