• Swift19-嵌套类型


    嵌套类型实践、引用嵌套类型。

    枚举常被用于为特定类或结构体实现某些功能。类似地,枚举可以方便的定义工具类或结构体,从而为某个复杂的类型所使用。为了实现这种功能,Swift允许定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。

    要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的{}内,而且可以根据需要定义多级嵌套。

    嵌套类型实践:

    struct BlackjackCard{

      //嵌套的Suit枚举

      enum Suit:Character{  //描述了扑克牌的四种花色

        case Spades="?", Hearts="?", Diamonds="?", Clubs="?"

      }

      //嵌套的Rank枚举

      enum Rank:Int{  //描述扑克牌的值,A~10,J,Q,K

        case Two=2,Three, Four, Five, Six, Seven, Eight, Nine, Ten

        case Jack, Queue, King, Ace

        struct Values{

          let first:Int, Seocnd:Int?

        }

        var values:Values{

          switch self{

          case .Ace:

            return Values(first:1, second:11)

          case .Jack, .Queue, .King:

            return Values(first:10, second:11)

          default:  

            return Values(first:self.rawValue, second:nil)

          }

        }

      }

      //属性和方法

      let rank:Rank, suit:Suit

      var description:String{

        var output="suit is (suit.rawValue),"

        output+=" value is (rank.values.first)"

        if let second=rank.values.second{

          output+=" or (second)"

        }

        return output

      }

    }

    引用嵌套类型:

    在外部引用嵌套类型时,在嵌套类型的类型名前加上其它外部类型的类型名作为前缀

    let heartsSymbol=BlackjackCard.Suit.Hearts.rawValue

  • 相关阅读:
    Java容器化参数配置最佳实践
    24 个 Docker 常见问题处理技巧
    在 CentOS 8 上使用 FirewallD 设置防火墙
    100个Linux Shell脚本经典案例(附PDF)
    使用 Dockerfile 的一些最佳实践
    Kubernetes 配置管理
    Kubernetes 版本升级之路
    重新安装kuboard后,原先配置的CI/CD命令都没了,需要重新创建
    Kubernetes 上部署应用 以Wordpress 为例
    Kubernetes 调度 污点和容忍度详解
  • 原文地址:https://www.cnblogs.com/cjj-ggboy/p/12866842.html
Copyright © 2020-2023  润新知