Swift2.0(6)结构体类型&枚举类型
admin
2023-02-10 08:00:15
0
  • 结构体类型

基础数据类型都是结构体,如Int  Float Bool等,是Swift自带的并且作为开发基础供开发者使用

在Swift中,结构体(Struct)和类类型(Class)非常相似,结构体是值类型,类是引用类型。

定义格式:

     struct 名称 : 协议... { 属性和方法 }

如:

     struct Sword {

         var length:Int = 11

         var name:String = "hello world"

         func description() {

             print("this is a \(name) sword, has length \(length)")

         }

     }

     //var a:Sword = Sword()

     var a:Sword = Sword(length: 5, name: "hello")

     print(a)

     Swift中对于结构体的命名规范:结构体名首字母必须大写,其他字母遵循首字母大写---驼峰规则

     结构体中可以包含静态属性、静态方法(类类型当然也是可以的)

  • 枚举类型

Swift中使用enum和case定义枚举类型

     初始化使用:类型名.枚举值的方式

     赋值使用:.枚举值的方式

     enum weekday {

         case Sun, Mon, Tue, Wed, Thr, Fri, Sat

     }

     var day1 = Weekday.Sun   //初始化操作

     day1 = .Fri  //赋值

     用于switch语句中:

     switch day1 {

          case .Sun:

              print("Sunday.")

          case .Mon:

              print("Monday.")

          default:

              print("Other.")

     }

Swift中枚举并不局限于C语言中的无符号整型,可以设置不同类型的关联值,如

     enum AccountName {

         case mailAccountName(String), commonAccountName(String)

         case telAccountName(Int)

     }

     var n1 = AccountName.mailAccountName("anm@neusoft.com")

     var n2 = AccountName.commonAccountName("anm")

     var n3 = AccountName.telAccountName(2234567)

     用于switch语句

     switch n1 {

          case .mailAccountName(let name):

              print("邮箱名:\(name)")

          case .commonAccountName(let name):

              print("用户名:\(name)")

          case .telAccountName(let name):

              print("手机号:\(name)")

     }


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...