Golang中struct{}和struct{}{}的区别解析
作者:路多辛 发布时间:2024-04-23 09:36:21
标签:go,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
来源:https://blog.csdn.net/luduoyuan/article/details/129095066
0
投稿
猜你喜欢
- 一个动态载入asp树源码。把 node.htc, style.css 保存与 css 目录下. index.asp subtree.asp
- pydbclib是一个通用的python关系型数据库操作工具包,使用统一的接口操作各种关系型数据库(如 oracle、mysql、postg
- argparse1import argparseimport sysFLAGS = Nonedef main(): print(
- 文档格式的排错 我妈妈_的清单中有数十条菜谱,甚至数百条。如果产生一个致命错误,排错将非常困难 - 你将一行一行地寻找丢失的标记符。如果使用
- views.py 视图文件 message = None all_message = UserMessage.obj
- 查看当前连接系统参数:SHOW VARIABLES LIKE '%char%'; mysql> show variab
- 一、什么是yield如果还没有怎么用过的话,直接把yield看做成一种特殊的return(PS:本质 generator(生成器))retu
- 序本文主要研究一下golang的deferdeferreturn先赋值(对于命名返回值),然后执行defer,最后函数返回defer函数调用
- 一、检索当前目录下所有文件、文件夹from glob import globglob('./*')Output: ['
- 在 Internet 连接无处不在的今天,我们忽然有了另外一个需求,离线 Web。Gmail, Google Reader, Zoho 这些
- 简单试用了一下IE8后,今天相对有时间点,对IE8、IE7、IE6、Firefox2.0.0.12做了简单的一些CSS HACK测
- Django Form 实时从数据库中获取数据 ,具体内容如下所示:修改 models.py 添加class UserType(models
- 一、功能简述正是微博如火如荼的时节,其中各个微博的分享功能是网站推广产品的好东东啊,此时如何方便快捷的使用微博的分享功能就显得比较重要了。我
- 导语当下的孩子们多少会被电子产品“侵袭”,那么既然都要玩游戏,为什么不选既能玩又能收获知识的呢?兴趣
- 实例如下所示:import numpy as npimport pandas as pddata = {'city': [&
- python random库简单使用demo当我们需要生成随机数或者从一个序列中随机选择元素时,可以使用 Python 内置的 random
- MySQL 8.0.19支持输入3次错误密码,锁定账户功能例子:>CREATE USER 'hechunyang'@&
- concat 与其说是连接,更准确的说是拼接。就是把两个表直接合在一起。于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数
- 很多时候我们写的程序,会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。
- 本文实例讲述了python获取当前计算机cpu数量的方法。分享给大家供大家参考。具体分析如下:这里实际上返回的是计算机的cpu核心数,比如c