gpt4 book ai didi

swift - 无论 Swift 中的大小写如何,从枚举中提取关联值

转载 作者:可可西里 更新时间:2023-11-01 01:11:02 26 4
gpt4 key购买 nike

我想获取 swift 枚举对象的关联值,有没有比下面的 switch 语句更短/更好的方法?

enum Test {
case a(Int), b(Int), c(Int)
}

func printValue(_ t: Test) {
switch t {
case .a(let v), .b(let v), .c(let v): print("value \(v)")
}
}

最佳答案

您从多个枚举中提取关联值的代码是最经济易读的,无需改进。

但是,无论 enum 的大小写如何,您都希望提取关联值这一事实表明您没有正确使用关联值:而不是将值与每个单独的情况相关联,您应该创建一个复合类型,它包含 Int 和一个没有关联值的 enum,即

enum Test {
case a, b, c
}
class MyClass {
var num : Int
var tst : Test
}

既然关联值位于每个 enum 元素的“外部”,就可以独立于大小写访问它,您还可以为其指定一个有意义的名称,这会增加程序的可读性。

关于swift - 无论 Swift 中的大小写如何,从枚举中提取关联值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47121185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com