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


猜你喜欢
- 前言最近参加了datawhale的组队学习活动,在组队学习动员下,开始通过强迫自己输出来实现更好的输入与处理,6-15开始自己的第一次文章发
- 用for循环实现1~n求和的方法def main(): sum = 0 n = int(input('n=&
- IntelliJ IDEA 2020.1 插件中心一直打不开,鉴于有部分同学反馈设置http proxy不能解决,所以可按以下顺序检查一、设
- 前言:如果使用进到的日志文件方法:logging.FileHandler,会导致日志信息全部存放在一个日志文件中,不利于后面对日志文件的使用
- 本文实例为大家分享了python网络爬虫的笔记,供大家参考,具体内容如下(一) 三种网页抓取方法1、 正则
- 今天偶尔在知乎上看到某大佬用Python写的ATM系统案例,然后观摩了下他的实现思路和源码,感觉受益颇多,于是就根据自己的思路和目前掌握的P
- 数据的变化反应到视图前面我们了解到数据劫持之后,我们可以在数据发生修改之后做任何我们想要做的事情,操作视图当然也是OK的命令式操作视图目标:
- str_replace — 子字符串替换 [str_replace]mixed str_replace ( mixed
- 今天很有可能你已经做了一些使用滑动窗口(也称为移动窗口)的事情,而你甚至不知道它。例如:许多编辑算法都是基于移动窗口的。在GIS中做地形分析
- 字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的。想要识别验证码,收集足够多的样本后,首先要做的就是
- Index.asp:程序代码<html><head><meta http-equiv="Conten
- 先给大家介绍下python交互模式下输入换行/输入多行命令的方法换行方法 \如:>>> print 'aaa
- 给定一个可迭代sequence,对其中的值进行出现次数统计:方法1:def get_counts(sequence): counts = {
- 一 简单介绍wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。实现了微信
- 导语哈喽!我是木木子,今天又想我了嘛?之前不是出过一期Python美颜相机嘛?不知道你们还记得不?这一期的话话题还是围绕上期关于颜值方面来走
- 本文研究Keras自带的几个常用的Loss Function。1. categorical_crossentropy VS. sparse_
- 本文讲述了python开发之IDEL(Python GUI)的使用方法。分享给大家供大家参考,具体如下:在安装完Python后,我们希望能够
- 直接上图,图文并茂,相信你很快就知道要干什么。A文件:B文件:可以发现,A文件中“汉字井号”这一列和B文件中“WELL”这一列的属性相同,以
- 一、model.py1.1 Channel Shuffledef channel_shuffle(x: Tensor, groups: in
- 如果你使用过大部分,那么你的ASP功力应该是非常高的了ADO对象(太常用了):ConnectionCommandRecordSetRecor