Swift中的算术数据类型是什么?

Swift中的算术数据类型是什么?,swift,swift3,Swift,Swift3,我最近读到枚举和元组具有数学结构,它们分别被称为总和和乘积类型,类似于算术 我可以理解枚举是sum类型,但不能将tuple理解为产品类型 enum Add<T, U> { case left(T) case right(U) } 枚举添加{ 案例左(T) 案例权利(U) } 因此,如果U有三个成员,而T有五个成员,那么Add将有8个成员,但我无法给出产品类型的示例 而且 枚举是否也可以作为产品类型 算术数据类型如何有用 Enum表示任意一种情况-该值可

我最近读到
枚举
元组
具有数学结构,它们分别被称为总和和乘积类型,类似于算术

我可以理解枚举是
sum
类型,但不能将tuple理解为产品类型

  enum Add<T, U> {
     case left(T)
     case right(U)
  }
枚举添加{
案例左(T)
案例权利(U)
}
因此,如果
U
有三个成员,而
T
有五个成员,那么
Add
将有8个成员,但我无法给出产品类型的示例

而且

  • 枚举是否也可以作为产品类型
  • 算术数据类型如何有用

  • Enum表示任意一种情况-该值可以是其中一种情况。它就像一个被称为逻辑和的替代方案。我不认为它们是产品类型


    元组表示获取所有值时的情况—它是集合的一个元素,集合是元组包含的每个元素的域的carthesian乘积。这就是为什么你可以把它们看作是一种产品类型。因此,给定您为枚举情况所做的假设,一个元组(如“(T,U)”将有15个可能的变体,因为每个T都可以与每个U-3*5=15组合,枚举表示任何一种情况-该值可以是其中一种情况。它就像一个被称为逻辑和的替代方案。我不认为它们是产品类型

    元组表示获取所有值时的情况—它是集合的一个元素,集合是元组包含的每个元素的域的carthesian乘积。这就是为什么你可以把它们看作是一种产品类型。因此,考虑到您对枚举情况所做的假设,类似于“T,U”的元组将有15种可能的变体,因为每个T都可以与swift 3.0中的每个U-3*5=15组合起来

    enum names 
    {
       case Swift
       case Closures
    }
    
    var lang = names.Closures // Call .Closures case 
    lang = .Closures
    
    switch lang 
    {
       case .Swift:
       print("Welcome to Swift")
    
       case .Closures:   //call this case
       print("Welcome to Closures")
    
       default:
       print("Introduction")
    }
    
    输出:欢迎使用闭包

    示例2:

    enum Climate 
    {
       case India
       case America
       case Africa
       case Australia
    }
    
    var season = Climate.America // call .America case
    season = .America
    
    switch season 
    {
       case .India:
          print("Climate is Hot")
       case .America:
          print("Climate is Cold") // call this case
       case .Africa:
          print("Climate is Moderate")
       case .Australia:
          print("Climate is Rainy")
       default:
          print("Climate is not predictable")
    }
    
    输出:气候寒冷

    swift 3.0中“枚举”的简单示例

    enum names 
    {
       case Swift
       case Closures
    }
    
    var lang = names.Closures // Call .Closures case 
    lang = .Closures
    
    switch lang 
    {
       case .Swift:
       print("Welcome to Swift")
    
       case .Closures:   //call this case
       print("Welcome to Closures")
    
       default:
       print("Introduction")
    }
    
    输出:欢迎使用闭包

    示例2:

    enum Climate 
    {
       case India
       case America
       case Africa
       case Australia
    }
    
    var season = Climate.America // call .America case
    season = .America
    
    switch season 
    {
       case .India:
          print("Climate is Hot")
       case .America:
          print("Climate is Cold") // call this case
       case .Africa:
          print("Climate is Moderate")
       case .Australia:
          print("Climate is Rainy")
       default:
          print("Climate is not predictable")
    }
    

    输出:气候寒冷

    我还没有做出假设<代码>枚举可以是产品类型。所以这里的问题仍然是,
    什么是算术数据类型?
    以及它如何有用。我还没有做出假设<代码>枚举可以是产品类型。所以这里的问题仍然是,
    什么是算术数据类型?
    以及它如何有用。这甚至不能回答这个问题。这只是一个如何使用枚举的示例。这甚至不能回答这个问题。这只是一个如何使用枚举的示例。