小编xkp*_*xzu的帖子

Kotlin 枚举就像在 swift 中一样

我有快速枚举

enum Type {
    case bool(Bool)
    case int(Int)
    case array([String])
}
Run Code Online (Sandbox Code Playgroud)

不明白如何将其转换为 kotlin 代码,我确实是这样的:

enum class AnswerSheetType {
    BOOL,
    INT,
    ARRAY
}
Run Code Online (Sandbox Code Playgroud)

但是我如何将变量传递给枚举类型。例如,我想要创建方法,该方法将返回带变量的类型,如下所示(快速代码):

func marks(for id: String) -> Type {
    let answer = answers?[id]
    
    if let boolAnswer = answer as? Bool {
        return .bool(boolAnswer)
    }
    if let intAnswer = answer as? Int {
        return .int(intAnswer)
    }
    if let arrayAnswer = answer as? [String] {
        return .array(arrayAnswer)
    }
}
Run Code Online (Sandbox Code Playgroud)

kotlin

4
推荐指数
1
解决办法
1308
查看次数

标签 统计

kotlin ×1