中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Golang中struct{}和struct{}{}的區別是什么

發布時間:2023-03-22 16:21:01 來源:億速云 閱讀:78 作者:iii 欄目:開發技術

今天小編給大家分享一下Golang中struct{}和struct{}{}的區別是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

首先說下Golang中的結構體,結構體是由一系列具有相同類型或不同類型的數據構成的數據集合,Golang中使用關鍵字struct來創建一個結構體,語法如下:

typeStudentstruct { 
  Name string 
}

下面定義一個Student結構體,例如:

typeStudentstruct {
 		name  string
}

然后聲明一個Student類型的變量并賦值

var stu Student
stu.name = "小明"

聲明一個struct類型變量并賦值還有一種方式是使用匿名struct,代碼非常簡潔:

stu := struct {
    name string
}{
    "小明",
}

還可以使用匿名struct聲明一個變量但不賦值,例如:

stu := struct {
 
}{
    
}

把空行和空格去掉后就是struct {} {},所以到此就可以看出struct {}和struct {} {}的區別了。

struct {}

struct {}和struct { name string }一樣是結構體類型, 只是沒有任何元素。struct {}的特點是大小為0,不占用任何內存。

struct {} {}

struct {} {}一個struct {}類型的值,該值也是空。

使用場景舉例

比如使用map類型構造集合,可以使用這樣一個類型的map:map[string]struct{},使用struct{}類型的值來節省空間。

package main
 
import"fmt"funcmain() {
	zoo := make(map[string]struct{})
	zoo["monkey"] = struct{}{}
	zoo["tiger"] = struct{}{}
	_, ok := zoo["monkey"]
	fmt.Println("Is monkey in the zoo?", ok)
	_, ok = zoo["cat"]
	fmt.Println("Is cat in the zoo?", ok)
}

運行程序,輸出如下內容:

Ismonkeyinthezoo?trueIscatinthezoo?false

以上就是“Golang中struct{}和struct{}{}的區別是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇州市| 长治县| 逊克县| 芒康县| 上饶县| 肥东县| 九龙县| 绿春县| 忻州市| 宣威市| 白银市| 道孚县| 太湖县| 绿春县| 青神县| 平阳县| 平利县| 南平市| 和硕县| 平顶山市| 临潭县| 孙吴县| 饶平县| 周至县| 手机| 临泽县| 合水县| 廊坊市| 北辰区| 左云县| 温宿县| 平凉市| 邛崃市| 滦南县| 金阳县| 夏邑县| 乐清市| 巴马| 綦江县| 连城县| 卓尼县|