前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >随译小文,给Swift 枚举关联值加上标签吧

随译小文,给Swift 枚举关联值加上标签吧

作者头像
小刀c
发布2023-10-23 10:46:25
1280
发布2023-10-23 10:46:25
举报
文章被收录于专栏:cc log

随译小文,给Swift 枚举关联值加上标签吧

12/18/2022, 10:36:13 PM

Last updated on 12/18/2022, 11:02:59 PM

toc

Intro

疫情放开了,在深圳最冷的时候,随翻一篇外文短文吧。

Swift Enum With Labeled Associated Values

Swift最为一名现代语言,枚举enum非常的强大,按照官网的例子,可以这么使用:

代码语言:javascript
复制
enum Barcode {
    case upc(Int, Int, Int, Int)
    case qrCode(String)
}

在匹配的时候。

代码语言:javascript
复制
var productBarcode = Barcode.upc(8, 85909, 51226, 3)

switch productBarcode {
case .upc(let numberSystem, let manufacturer, let product, let check):
    print("UPC: \(numberSystem), \(manufacturer), \(product), \(check).")
case .qrCode(let productCode):
    print("QR code: \(productCode).")
}

这很强大,可以在匹配.upc的时候,直接命名取出关联值。但这里的小问题在于,如果对其取名,只能通过线下沟通,或者查阅定义枚举的文档(如果有的话)。

其实这里有个小诀窍,Swift官网文档也尚未提到,开发者可以在声明枚举enum的时候,给关联值加上标签label

像这样:

代码语言:javascript
复制
enum Barcode {
    case upc(numberSystem: Int, manufacturer: Int, product: Int, check: Int)
    case qrCode(String)
}

这样别人在初始化的行为也会改变,会显式的使用label:

代码语言:javascript
复制
var productBarcode = Barcode.upc(numberSystem: 8, manufacturer: 85909, product: 51226, check: 3)

😄 一个小技巧,记住:

Clarity is more important than brevity

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 随译小文,给Swift 枚举关联值加上标签吧
    • toc
    • Intro
    相关产品与服务
    标签
    标签(Tag)是腾讯云推出的云资源管理工具,您可从不同维度对具有相同特征的云资源进行分类、搜索和聚合,从而轻松管理云上资源。 标签是由标签键和标签值共同组成,您可以为云资源创建和绑定标签
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档