gpt4 book ai didi

swift - 使用枚举作为函数参数

转载 作者:搜寻专家 更新时间:2023-11-01 06:37:52 25 4
gpt4 key购买 nike

我正在制作一个函数,它将枚举作为参数,其中包含一年中的每个月。我在没有功能的情况下完成了这项工作,但这不是我的想法。

函数应该使用 switch 语句,所以如果我使用 September,函数应该返回 9,如果我输入 May,它应该返回 5,等等。

我正在使用 IBM Swift Sandbox,它给我以下错误:

/swift-execution/Sources/main.swift:129:1: warning: result of call tonumeroMes(mes:)' is unused numeroMes(mes:.Septiembre)

这是我的枚举:

enum meses {
case Enero
case Febrero
case Marzo
case Abril
case Mayo
case Junio
case Julio
case Agosto
case Septiembre
case Octubre
case Noviembre
case Diciembre
}

以及不起作用的功能:

func numeroMes(mes: meses) -> Int {
switch mes {
case .Enero:
return 1
case .Febrero:
return 2
case .Marzo:
return 3
case .Abril:
return 4
case .Mayo:
return 5
case .Junio:
return 6
case .Julio:
return 7
case .Agosto:
return 8
case .Septiembre:
return 9
case .Octubre:
return 10
case .Noviembre:
return 11
case .Diciembre:
return 12
}
}

numeroMes(mes:.Septiembre)

最佳答案

这是警告,不是错误。这只是说调用 numeroMes 的结果未被使用。

顺便说一下,您似乎可以使用原始类型进行枚举,而不是定义自定义转换函数。方法如下

enum Mese: Int {
case Enero = 1
case Febrero
case Marzo
case Abril
case Mayo
case Junio
case Julio
case Agosto
case Septiembre
case Octubre
case Noviembre
case Diciembre
}

其他值将从1开始递增,所以Febrero2Marzo3 等等。

现在,每当您需要从枚举中检索原始值时,只需对其调用 rawValue 即可。示例:

Mese.Febrero.rawValue // 2

关于swift - 使用枚举作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353918/

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