zoukankan      html  css  js  c++  java
  • Swift 结构体struct

    //结构体是一个值类型

    struct location{

        //属性

        var x:Double

        var y:Double

        

        //方法

        func test() {

            print("结构体中的test函数")

        }

        mutating func moveH(distance:Double){

            self.x+=distance

        }

        

        //结构体扩充构造函数

        //默认情况下,系统会为一个结构体生成一个默认的构造函数

        //构造函数是以init开头的,并且构造函数不需要返回值

        //在构造函数结束时候,必须保证所有的成员属性有被初始化

        

    //这是系统默认构造的

    //    init(x:Double,y:Double) {

    //        self.x=x

    //        self.y=y

    //    }

        

        init(xyStr:String) {

            let array = xyStr.components(separatedBy: ",")

            let item1 = array[0]

            let item2 = array[1]

            

    //        if let x=Double(item1) {

    //            self.x=x

    //        }

    //

    //        if let y=Double(item2) {

    //            self.y=y

    //        }

            

            self.x=Double(item1) ?? 0

            self.y=Double(item2) ?? 0

            

        }

        

    }

     

    //创建结构体对应的值

    //var center=location(x: 20, y: 20) //调用系统默认的构造函数

    var center=location(xyStr: "20,20")

     

    center.test()

    center.moveH(distance: 10)//水平移动10

    print(center)//结构体属性变化结果 location(x: 30.0, y: 20.0)

  • 相关阅读:
    apt update ,apt upgrade 和 apt dist-upgrade 的区别
    CVE-2018-8639 简单利用 win7
    如何拆解性能测试需求
    博客搬家啦
    驱动开发学习一
    驱动开发基础之数据结构
    c++容器加迭代器和python装饰器的对比
    c++简单学习
    windows下z3安装
    switch反汇编
  • 原文地址:https://www.cnblogs.com/dhui69/p/11159104.html
Copyright © 2011-2022 走看看