// 定義一個枚舉類型叫City
enum City {
// case 枚舉值 這里應該包含所有該City類型的所有值
case BeiJin
case GuangZhou
case ShangHai
case ShenZhen
}
// 賦值時枚舉類型可以省略
let at = City.ShangHai
let to:City = .BeiJin
2.原始值 rawValue
enum 定義枚舉類型 { case 枚舉項(默認值)...}
為枚舉項提供一個默認值罚随,這個默認值是在編譯的時候就確定了恬总。
enum Language: Int {
case c = 1
case php = 2
case java = 3
case oc = 4
}
var userInput = 3
//枚舉類型 ( rawValue: 原始值 )
Language(rawValue: userInput) //java
3.關聯(lián)值 Associate Value
enum 定義枚舉類型 { case 枚舉項(關聯(lián)值類型)...}
需要實例化枚舉值后才可以確定。
enum ATMStatus {
case Success (Int)
case Error (String)
}
var balance = 500
func withdraw( amount:Int ) -> ATMStatus {
if balance >= amount {
balance -= amount
return .Success(balance)
}
else {
return .Error("Not")
}
}
let result = withdraw(amount: 100)
switch result {
case let .Success(balance):
print (balance)
case let .Error(errorMessage):
print (errorMessage)
}