enum 枚举类型

我们可以通过定义枚举IpAddrKind来表达这样的概念,声明该枚举需要列举出所有可能的IP地址种类,也就是所谓的枚举变体(variant)。

enum IpAddrKind {V4,V6,
}

枚举的变体全部位于其标识符的命名空间中,并使用两个冒号来将标识符和变体分隔开。由于IpAddrKind::V4IpAddrKind::V6拥有相同的类型IpAddrKind,所以我们可以定义一个接收IpAddrKind类型参数的函数来统一处理它们。

现在的定义只知道枚举的种类,却没有办法去存储实际的IP地址数据,只能起到一个标识的作用。但实际上,枚举允许我们在变体上嵌套数据。在新的IpAddr枚举变体中,V4V6两个变体都被关了上了一个String值:

enum IpAddr {V4(String),V6(String),
}

你可以在枚举的变体中嵌入任意类型的数据,无论是字符串、数组、还是结构体,甚至可以嵌入另一个枚举!

虽然枚举变体是不同的类型,但对外而言,它们是单独的一个类型。


Option枚举

RUST中虽然没有空值,但却提供了一个拥有类似概念的枚举,我们可以用它来标识一个值无效或者缺失,这个枚举就是Option<T>,它在标准库中的定义如下:

enum Option<T> {Some(T),None,
}

由于Option<T>枚举非常常见,所以它被包含在了预导入模块中,这意味着我们不需要显示地将它引入作用域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/197978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android https 证书过期

有的时候 我们android https 证书过期 &#xff0c;或者使用明文等方式去访问服务器 可能会碰到类似的 问题 &#xff1a; javax.net.ssl.SSLHandshakeException: Chain validation failed java.security.cert.CertPathValidatorException: Response is unreliable: its validi…

通讯录管理系统(基于C语言)

模块设计 本通讯录管理系统功能模块共包括9个部分&#xff1a;1.输入数据、2.显示数据、 3.插入数据、4.删除数据、5.查看数据、6.修改数据、7.保存数据、 8.返回主菜单、9.退出系统. 一&#xff0e;总体设计 通讯录的每一条信息包括&#xff1a;姓名、性别、住址、联系电话…

西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元件参数过程,越详细越好。用公式输入法完成相关公式内容,不得贴手写图片。(注意:从抽象公式直接得出结果,不得分,页数可根据内容调整) 预习计算内容根据运放的非线…

【MODBUS】Modbus主站云端服务器和边缘设备部署区别

Modbus主站作为云端服务器&#xff1a; 云端服务器作为主站&#xff1a; 在这种部署方式中&#xff0c;云端服务器充当Modbus通信的主站&#xff0c;负责向不同的Modbus从站发起请求&#xff0c;并处理响应。云端服务器通常与其他云服务一起运行&#xff0c;可以在云平台上实现…

【Linux下如何生成coredump文件】

一&#xff0c;什么是coredump 我们经常听到大家说到程序core掉了&#xff0c;需要定位解决&#xff0c;这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止&#xff0c;并且在满足一定条件下&#xff08;这里为什么说需要满足一定的条件呢&#…

QT使用SQLite(打开db数据库以及对数据库进行增删改查)

QTSQLite 在QT中使用sqlite数据库&#xff0c;有多种使用方法&#xff0c;在这里我只提供几种简单&#xff0c;代码简短的方法&#xff0c;包括一些特殊字符处理。 用SQlite建立一个简单学生管理数据库 数据库中有两个表一个是class和student。 class表结构 student表结果…

Java零基础-if条件语句

前言 条件语句是编程语言中最基础也是最常用的语句之一&#xff0c;对于初学者来说&#xff0c;掌握好条件语句是学习编程的第一步。本文将以Java开发语言为例&#xff0c;详细介绍Java中的if条件语句及其应用场景。 摘要 本文主要包含以下内容&#xff1a; Java中的if条件…

非标设计之气缸类型

空压机&#xff1a; 空压机又称空气压缩机&#xff0c;简单来说就是将机械能转化为压力能来进行工作的&#xff0c;空压机在电力行业应用比较多&#xff0c;除了在电力行业应用较多外&#xff0c;其实空压机还有一个比较常见的用途就是用来制冷和分离气体&#xff0c;输送气体…

【web安全】RCE漏洞原理

前言 菜某的笔记总结&#xff0c;如有错误请指正。 RCE漏洞介绍 简而言之&#xff0c;就是代码中使用了可以把字符串当做代码执行的函数&#xff0c;但是又没有对用户的输入内容做到充分的过滤&#xff0c;导致可以被远程执行一些命令。 RCE漏洞的分类 RCE漏洞分为代码执行…

Vue子组件的挂载,以及使用子组件的原理

Vue子组件是如何挂载的&#xff1f; vue中&#xff0c;子组件是通过父组件模板中的标签来进行挂载的&#xff0c;当父组件模板中包含子组件的标签时&#xff0c;vue会在渲染过程中自动创建并挂载子组件 挂载过程如下&#xff1a; 1、解析父组件模板&#xff1a;当vue实例化父…

RT-Thread 三步实现利用DMA进行串口发送

应某些网友需求&#xff0c;说网上根本找不到基于Rt-Thread DMA串口发送代码&#xff0c;只有官方开源的串口DMA接收。 其实这些东西并不难&#xff0c;只要你细心去看哪些闲置的驱动文件且都是包装好的&#xff0c;通过关键字去查询或点开源文件查看&#xff0c;花不了几分钟…

【C/PTA —— 14.结构体1(课内实践)】

C/PTA —— 14.结构体1&#xff08;课内实践&#xff09; 6-1 计算两个复数之积6-2 结构体数组中查找指定编号人员6-3 综合成绩6-4 结构体数组按总分排序 6-1 计算两个复数之积 struct complex multiply(struct complex x, struct complex y) {struct complex product;product.…

Selenium 自动化高级操作与解决疑难杂症,如无法连接、使用代理等

解决 Selenium 自动化中的常见疑难杂症 这里记录一些关于 Selenium的常用操作和疑难杂症。 有一些细节的知识点就不重复介绍了&#xff0c;因为之前的文章中都有&#xff01; 如果对本文中的知识点有疑问的&#xff0c;可以先阅读我以前分享的文章&#xff01; 知识点&…

【MySQL表的操作】

目录&#xff1a; 前言表的操作创建表查看表结构修改表对列的增删改修改表名 对表中数据的操作插入数据查找数据修改数据删除数据 删除表总结 前言 剑指offer&#xff1a;一年又3天 表的操作 创建、查看、修改&#xff08;属性和内容&#xff09;与删除 创建表 语法&#xf…

点云从入门到精通技术详解100篇-雨雾环境下多传感器融合 SLAM 方法

目录 前言 国内外研究现状 传统 SLAM 研究现状 多传感器融合 SLAM 研究现状

8.Python TCP网络编程入门指南

HTTP协议 HTTP 是一种用于传输超文本&#xff08;例如 HTML&#xff09;的应用层协议。它是基于请求-响应模型的&#xff0c;客户端发送请求&#xff0c;服务器返回响应。HTTP 使用 TCP 作为传输层协议。在 Python 中&#xff0c;有一些内置的模块用于处理 HTTP 请求和响应&am…

PyQt实战 创建一个PyQt5项目

前后端分离 参考链接 PyQt5实战&#xff08;二&#xff09;&#xff1a;创建一个PyQt5项目_pyqt5实战项目_笨鸟未必先飞的博客-CSDN博客 项目目录 创建一个QT项目 调用pyuic工具将dialog.ui文件编译为Python程序文件ui_dialog.py。 # -*- coding: utf-8 -*-# Form implemen…

Android 透明度颜色值对照表

一、透明度对照表 注&#xff1a;00是完全透明&#xff0c;FF就是完全不透明 我们的UI小姐姐就喜欢给「不透明度」&#xff0c;这个需要自己判断一下。 完全透明:0% HEX: 00 透明度:1% HEX: 30 透明度:2% HEX: 50 透明度:3% HEX: 80 透明度:4% HEX: A0 透明度:5…

【离散差分】LeetCode2953:统计完全子字符串

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本题其它解法 【滑动窗口】LeetCode2953:统计完全子字符串 涉及知识点 分块循环 离散差分 题目 给你一个字符串 word 和一个整数 k 。 如果 word 的一个子字符串 s 满足以下条件&#xff0c;我们称它是 完全…

云原生之深入解析如何限制Kubernetes集群中文件描述符与线程数量

一、背景 linux 中为了防止进程恶意使用资源&#xff0c;系统使用 ulimit 来限制进程的资源使用情况&#xff08;包括文件描述符&#xff0c;线程数&#xff0c;内存大小等&#xff09;。同样地在容器化场景中&#xff0c;需要限制其系统资源的使用量。ulimit: docker 默认支持…