美文网首页
Swift-结构体

Swift-结构体

作者: qtoq126 | 来源:发表于2018-01-15 20:58 被阅读0次
  1. 结构体基础
struct Location {
    
    let latitude: Double
    let longtitude: Double
}

let appleHeadquartersLocation = Location(latitude: 37.3230, longtitude: -122.0322)
let googleHeadquartersLocation = Location(latitude: 37.4220, longtitude: -122.0841)

appleHeadquartersLocation.latitude
googleHeadquartersLocation.longtitude

struct Place {
    
    let location: Location
    var name: String
}

let google = Place(location: googleHeadquartersLocation, name: "Google")
google.location.latitude
  1. 结构体构造函数
struct Location {
    
    let latitude: Double
    let longtitude: Double
    
    init?(coordinate: String) {

        //gurad关键字的妙用,注意如果说guard多个变量,每句末尾的都要有逗号
        guard
            let preIndex = coordinate.range(of: ",")?.lowerBound,
            let sufIndex = coordinate.range(of: ",")?.upperBound,
            let first = Double(coordinate.prefix(upTo: preIndex)),
            let second = Double(coordinate.suffix(from: sufIndex))
            else {
                return nil
            }
        
        self.latitude = first
        self.longtitude = second
    }
    
    func printLocation() {
        print("The location is \(latitude), \(longtitude)")
    }
}

var location = Location(coordinate: "321.33,-154.268")
location?.printLocation()
  1. 结构体内的函数
struct Location {
    
    let latitude: Double
    let longtitude: Double
    
    init?(coordinate: String) {
        
        guard
            let preIndex = coordinate.range(of: ",")?.lowerBound,
            let sufIndex = coordinate.range(of: ",")?.upperBound,
            let first = Double(coordinate.prefix(upTo: preIndex)),
            let second = Double(coordinate.suffix(from: sufIndex))
        else {
            return nil
        }
        
        self.latitude = firstIndex
        self.longtitude = secondIndex
    }
    
    func printLocation() {
        print("The location is \(latitude), \(longtitude)")
    }
}

var location = Location(coordinate: "321.334.268")
location!.printLocation()
  1. 重点

引用类型: Array、Set、Dictionary / String、Int、Float、Double、Bool
值类型:结构体(包括:Array、Set、Dictionary、String)、enum

相关文章

  • 跟着洲洲哥一块学习Swift-属性

    本文首发地址 Swift-属性 首先结构体和枚举都是值类型,类是引用类型。 把结构体赋值给一个变量 * 把结构体...

  • swift-结构体

    示例 struct 关键字 结构体之构造函数

  • Swift-结构体

    结构体基础 结构体构造函数 结构体内的函数 重点 引用类型: Array、Set、Dictionary / Str...

  • swift-类属性

    了解属性之前,需要先了解前面的swift-类结构内容 - swift-类结构源码探寻[https://www.ji...

  • Swift-类和结构体

    类和结构体对比 Swift 中类和结构体有很多共同点。共同处在于: 定义属性用于存储值 定义方法用于提供功能 定义...

  • Swift-类和结构体

    类和结构体是通用的,灵活的结构,成为程序代码的基础。 您可以通过使用与常量,变量和函数完全相同的语法来定义属性和方...

  • swift-类和结构体

    结构体和类 swift 中储存结构化的数据 可以用 结构体,枚举,类及使用闭包捕获变量。 类和结构体不同点: 1....

  • swift-结构体和类

    1.结构体和类的对比 定义属性用于存储值 定义方法用于提供功能 定义下标操作用于通过下标语法访问它们的值 定义构造...

  • Swift-结构体和类

    结构体 在swift 标准库中,绝大多数的公开类型都是结构体,而枚举和类只占很小一部分 比如Bool、int、do...

  • swift-结构体的选择

    当符合以下一条或多条情形时应考虑创建一个结构体: 结构体的主要目的是为了封装一些相关的简单数据值; 当你在赋予或者...

网友评论

      本文标题:Swift-结构体

      本文链接:https://www.haomeiwen.com/subject/kaaroxtx.html