swift 枚举

开关电源EMI滤波设计:如何通过Cx和Cy电容精准抑制共模与差模干扰? 本文深入解析了开关电源EMI滤波设计中Cx和Cy电容的核心作用。Cx电容并联于火线与零线之间,专用于抑制差模干扰;Cy电容连接于火线/零线与地之间,则负责泄放共模干扰。文章详细阐述了二者选型、安规要求及PCB布局要点,并提供了基于测试频谱的实战调优策略,是解决电源传导噪声问题的实用指南。 阅读详情

枚举

枚举实例:
  enum CompassPoint{
        case north
        case south
        case east
        case west
    }
    
    enum Planet {
        case mercury,venus,earth,mars,jupiter,saturn,uranus,neptune
    }
使用:
 var directionToHead = CompassPoint.west
        directionToHead = .east

关联值

可以定义swift枚举来存储任意类型的关联值,如果需要的话,每个枚举成员的关联值可以各不相同。枚举的这种特性跟其他语言中的可识别联合,标签联合,或者变体相似。
swift中,使用如下方式定义表示两种商品条形码的枚举:
  enum Barcode {
        case upc(Int,Int,Int,Int)
        case qrCode(String)
    }
可以任意使用一种条形码类型创建新的条形码:
    var productBarcode = Barcode.upc(8, 85905, 51225, 3)
        productBarcode = .qrCode("abcdefg")
原始的值被新的值所代替。Barcode类型的常量和变量可以存储一个.upc或者一个.qrCode,但是在同一时间只能存储这两个值中的一个。可以使用一个switch语句来检查不同的条形码类型。
 switch productBarcode {
        case .upc(let numberSystem, let manufacturer, let product, let check):
            print("\(numberSystem) \(manufacturer) \(product) \(check)")
        case .qrCode(let productCode):
            print("\(productCode)")
        }

原始值

作为关联值的替代选择,枚举成员可以被默认值预填充,这些原始值类型必须相同。
    
    enum ASCIIControlCharacter:Character {
        case tab = "\t"
        case lineFeed = "\n"
        case carriageReturn = "\r"
    }

递归枚举

递归枚举是一种枚举类型,它有一个或者多个枚举成员使用该枚举类型的实例作为关联值。使用递归枚举时,编译器会插入一个间接层。可以在枚举成员q前加上indirect来表示该成员可递归。
  enum ArithmeticExpression {
        case number(Int)
        indirect case addition(ArithmeticExpression,ArithmeticExpression)
        indirect case multiplication(ArithmeticExpression,ArithmeticExpression)
    }
可以在枚举类型开头加上indirect关键字来标明它的所有成员都可递归的:
  indirect enum ArithmeticExpression {
        case number(Int)
        case addition(ArithmeticExpression,ArithmeticExpression)
        case multiplication(ArithmeticExpression,ArithmeticExpression)
    }
使用:
  let five = ArithmeticExpression.number(5)
        let four = ArithmeticExpression.number(4)
        let sum = ArithmeticExpression.addition(five, four)
        let product = ArithmeticExpression.multiplication(sum, ArithmeticExpression.number(2))
        

选自《the swift programming language》中文版










MediaPipeUnityPlugin(最新版)摇摆拳人脸识别 阅读详情

相关推荐

SWIFT报文实战指南:从MT700到MT799的信用证操作全解析

本文深入解析了国际贸易中信用证操作的核心SWIFT报文流程,从开证的MT700到各类通知、修改及结算报文(如MT707、MT730、MT754、MT732/734等)。通过实战案例与关键字段拆解,指导外贸与银行从业者精准处理报文,规避风险,并探讨了利用自动化工具提升处理效率的方法,助力保障跨境交易顺畅。

weixin_29015801的博客 878

知识点15:枚举

swift知识点整理,随时扩展。

qq_34491373的博客 246

Win11网络卡顿?用Wireshark抓包5分钟定位问题(保姆级实战)

本文详细介绍了如何使用Wireshark在Win11系统中快速定位网络卡顿问题。通过5分钟抓包分析,作者成功发现TCP重传率高达37%的罪魁祸首,并提供了从准备工作到实战分析的保姆级教程,帮助用户解决游戏卡顿、视频会议延迟等常见网络问题。

weixin_28839629的博客 306

indirect在递归枚举时的使用

枚举时,如果枚举的类型中,还有自己类型做为参数的情况下 indirect enum Diagram { case primitive(CGSize, Primitive) case beside(Diagram, Diagram) case below(Diagram, Diagram) case attributed(Attribute, Diagram) case align(CGPoint,...

Jacky Shin的专栏 431

【物联网】探索NE555:一款经典的集成电路(超详细)

NE555是一种集成电路,其内部结构包括比较器、RS触发器、电压比较器和输出级三个主要功能模块,外部引脚则提供了与其他电路元件进行连接的接口。NE555的设计目的是为了提供一种简单方便的定时器解决方案,它广泛应用于模拟和数字电路中。NE555作为一款经典的集成电路,具备设计简单、易于使用和稳定可靠的特点,在电子领域发展了广泛的应用。从单稳态模式到多稳态模式,再到振荡器模式,NE555可以满足不同的需求,并且可以与其他电路元件灵活组合,扩展其功能。然而,需要注意的是NE555也有一些限制。

Goforyouqp的博客 6万+

GBASE南大通用GBase 8s数据库-从零开始的手动安装与实例配置指南

本文详细介绍了GBASE南大通用GBase 8s数据库的手动安装与实例配置全过程,包括环境准备、用户创建、安装包准备、实例创建、环境变量配置等关键步骤。通过实战经验分享和常见问题解决方案,帮助用户快速掌握GBase 8s数据库的安装与配置技巧,确保数据库稳定运行。

weixin_29209825的博客 454

Swift 中枚举高级用法及实践

作者:Benedikt Terhechte,原文链接,原文日期:2015-10-17译者:小锅,pmst;校对:shanks;定稿:shanks 译者注:作为一个走心且有逼格的翻译组,我们对本篇文章中的代码都进行了验证,并且写了将代码分为上下两篇做成了 playground,代码中有详尽的注释。可以到这个github地址上进行下载,这个代...

weixin_33863087的博客 745

饥荒Mod 开发(二):Mod目录结构

饥荒中的每个Mod 都有一些固定的目录结构,各个目录的放着不同类型的文件。动画,图片,源代码等。我们最好是遵守Mod 开发中的各个目录结构,我用的是WeGame 安装的饥荒游戏,Mod 目录如下,这个目录下保存所有订阅的Mod。

小乖写代码 4626

Swift 枚举

枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值。如果你熟悉 C 语言,你会知道在 C 语言中,枚举会为一组整型值分配相关联的名称。Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果给枚举成员提供一个值(称为原始值),则该值的类型可以是字符串、字符,或是一个整型值或浮点数。此外,枚举成员可以指定任意类型的关联值存储到枚举成员中,就像其他语言中的联合体(unions)和变体(variants)。

xiaoxiaobukuang的专栏 1219

37、基于视觉的轻量级面部呼吸和心率测量技术

本文提出了一种基于视觉的轻量级面部呼吸和心率测量技术,通过远程光电容积脉搏波描记法(RPPG)和面部振动信息实现非接触式生理信号采集。创新性地结合框选和特征点选择多个感兴趣区域(ROI),并采用光流跟踪、主成分分析(PCA)和集成经验模态分解(EEMD)等方法优化信号处理流程。实验结果表明,该方法在测量精度和稳定性方面优于传统方法,并可在树莓派4等低功耗平台上实现实时运行,具有广泛的应用前景。

r7s8t的博客 306

06 - 深度学习处理器原理

深度学习处理器的重要性在于它们可以加速深度学习任务的执行,从而推动了人工智能的发展。传统的通用处理器虽然可以执行深度学习任务,但它们不够高效,需要消耗大量的能量和时间。深度学习处理器通过硬件加速和特定设计来优化深度学习任务的执行,从而可以提高执行效率、降低能耗和加速训练和推断过程。 深度学习处理器的发展也推动了深度学习算法的创新,因为算法的发展需要硬件的支持和驱动。同时,深度学习处理器的出现也促进了更广泛的应用场景,包括自动驾驶、人脸识别、语音识别、图像识别等领域。因此,深度学习处理器的重要性不仅在于加速

m0_51339444的博客 752

oc使用swift中的枚举_Swift中的枚举

oc使用swift中的枚举Enumeration is a data type that allows you to define a list of possible values. An enum allows you to create a data type with those set of values so that they can be recognised consistent...

weixin_26638123的博客 4680

深入浅出AXI协议(2)——通道及信号

本文我们继续AXI协议的学习,我们将讨论5个通道的具体内容和相对应的信号。这一部分的内容现在对于大家来说可能很难理解,但是没有关系,随着学习的深入,我们会逐步讲解这里面的所有现在,现在只需要把它们当作一个可以查阅的手册,快速阅读有一个基本的印象即可。

apple_53311083的博客 1798

swift枚举

原文出自:标哥的技术博客 前言枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值,当然还有一个很重要的是它可能智能提示。在C语言中,枚举会为一组整型值分配相关联的名称。Swift中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果给枚举成员提供一个值(原始值),则该值的类型可以是字符串、字符、整型值或浮点数。此外,枚举成员可以指定任意类型的关联值存储到枚举成员

标哥 1118

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Swift-枚举

枚举定义了一个通用类型的一组相关值,使你可以在你的代码中以一种安全的方式来使用这些值。 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举将枚举名和一个整型值相对应。Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果给枚举成员提供一个值(称为“原始”值),则该值的类型可以是字符串,字符,或是一个整型值或浮点数。 此外,枚举成员可以指定任何类型的相关值存储到枚举成

欢迎来到Jack的程序世界 2016

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

闲聊Swift的枚举关联值

枚举,字面上理解,就是把东西一件件列出来。在许多计算机语言中,枚举都是一种重要的数据结构。使用枚举可以使代码更简洁,语义性更强,更加健壮。Swift语言也不例外。但和其他语言相比,Swift的枚举有一个关联值的概念。什么是关联值呢?关联值是枚举项存放的额外的数据,这些额外的数据可以使枚举描述更复杂的结构 ,实现更复杂的需求。下面定义了一个枚举,其中的每个枚举项都具有关联值。在上述枚举定义中,begin项关联了一个类型为String的值,枚举项表示开始,其关联值进一步表示是什么具体过程。progress。

m0_65012566的博客 2700

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Swift - 枚举

场景:日期(digit表示使用年月日形式,string表示使用字符串形式)场景: 分数(points表示实际得分,grade表示分数的等级)可以使用MemoryLayout获取数据类型占用的内存大小。注意:原始值不占用枚举变量的内存。来表示每一个case就行,要获取。的值关联存储在一起,会非常有用。必要时let也可以改为var。的原始值的枚举又是怎样的?如果枚举的原始值类型是。other(1字节)

sharp521的博客 1258

swift和oc枚举的区别

swift 1.case后面可以用逗号隔开写很多枚举值 2.枚举里可以写方法 3.枚举的rawValue可以是Float(float也是赋值的后面依次+1)或是String,或是没有 enum Suit{ case spades, hearts, diamonds, clubs func simpleDescription() -> String { switch self { case .spades: return "spa

baidu_40537062的博客 3112

Swift 中枚举的基本用法

一、枚举语法 //枚举的语法:名称需要首字母大写 enum Direction { case north case south case west case east } //多个成员值可以出现在同一行中,要用逗号隔开 enum Direction2 { case north, south, west, east } 二、使用 Switch 语句来匹配枚举值 enum Direction { case north, south, west, east } /

same_life的博客 3889

oc 中用swift中枚举_在Swift中安全地解码枚举

oc 中用swift中枚举Typically, when working with REST APIs, developers try to ensure code safety to avoid unpredictable behaviour of their apps. This is especially true when working with external APIs with l...

weixin_26638123的博客 559

Swift里的枚举

枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值 参考:枚举类型

379

Swift枚举的全用法

鉴于昨天开会部门会议讨论的时候,发现有些朋友对枚举的用法还是存在一些疑问,所以就写下这个文章,介绍下Swift下的枚举的用法。 基本的枚举类型 来,二话不说,我们先贴一个最基本的枚举: enum Movement { case letf case right case top case bottom } 这里就定义了一个简单的...

weixin_30693683的博客 188

swift——枚举

文章目录参考文章:一、功能1.1 语法示例 参考文章: Swift枚举的全用法 swift中的枚举,相较于OC,功能更加强大,允许出现更多的值类型,可以封装方法,遵守协议,实现拓展,使用范型 一、功能 1.1 语法示例 enum Movement { case letf case right case top case bottom } 1.2 值类型 不同于OC的枚举只能为int型,swift允许的值类型有: ● 整型(Integer) ● 浮点数(Float Po

qq_44865905的博客 837
上一篇: swift 闭包
下一篇: swift 属性
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值