欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang中struct{}和struct{}{}的區(qū)別解析

 更新時間:2023年03月18日 10:06:19   作者:路多辛  
這篇文章主要介紹了Golang中struct{}和struct{}{}的區(qū)別,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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

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 {} {}的區(qū)別了。

struct {}

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

struct {} {}

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

使用場景舉例

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

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{}{}的區(qū)別解析的文章就介紹到這了,更多相關go struct{}和struct{}{}的區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Go語言日志內聚復用及gjson踩坑記錄分享

    Go語言日志內聚復用及gjson踩坑記錄分享

    這篇文章主要為大家介紹了Go語言日志內聚復用及gjson踩坑記錄分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • golang 切片的三種使用方式及區(qū)別的說明

    golang 切片的三種使用方式及區(qū)別的說明

    這篇文章主要介紹了golang 切片的三種使用方式及區(qū)別的說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Golang實現(xiàn)不被復制的結構體的方法

    Golang實現(xiàn)不被復制的結構體的方法

    sync包中的許多結構都是不允許拷貝的,因為它們自身存儲了一些狀態(tài)(比如等待者的數(shù)量),如果你嘗試復制這些結構體,就會在你的?IDE中看到警告,那這是怎么實現(xiàn)的呢,下文就來和大家詳細講講
    2023-03-03
  • Go標準庫Flag庫和Log庫的使用

    Go標準庫Flag庫和Log庫的使用

    本文主要介紹了Go標準庫Flag庫和Log庫的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • go操作Kafka使用示例詳解

    go操作Kafka使用示例詳解

    這篇文章主要為大家介紹了go操作Kafka使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Go Java算法之二叉樹的所有路徑示例詳解

    Go Java算法之二叉樹的所有路徑示例詳解

    這篇文章主要為大家介紹了Go Java算法之二叉樹的所有路徑示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • golang的tunny的用法示例教程

    golang的tunny的用法示例教程

    這篇文章主要為大家介紹了golang的tunny的用法示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Golang Map value不可尋址使用指針類型代替示例詳解

    Golang Map value不可尋址使用指針類型代替示例詳解

    這篇文章主要為大家介紹了Golang Map value不可尋址使用指針類型代替示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • go使用Viper管理配置文件的方法步驟

    go使用Viper管理配置文件的方法步驟

    在項目開發(fā)中,需要把一些配置配置提取出來,方便配置和管理,可以使用Viper工具,Viper 是 Go 應用程序的完整配置解決方案,也支持從環(huán)境變量中讀取,本文給大家介紹了go使用Viper管理配置文件的方法步驟,需要的朋友可以參考下
    2024-07-07
  • Go語言變量與基礎數(shù)據(jù)類型詳情

    Go語言變量與基礎數(shù)據(jù)類型詳情

    Go 是靜態(tài)(編譯型)語言,是區(qū)別于解釋型語言的弱類型語言(靜態(tài):類型固定,強類型:不同類型不允許直接運算),下面文章將對其進行詳細介紹,需要的朋友可以參考一下
    2021-09-09

最新評論