zoukankan      html  css  js  c++  java
  • swift 3.0基本数据语法

    swift 3.0

    字符串的介绍

    OC和Swift中字符串的区别

    • 在OC中字符串类型时NSString,在Swift中字符串类型是String
    • OC中字符串@"",Swift中字符串""

    使用 String 的原因

    • String 是一个结构体,性能更高
    • NSString 是一个 OC 对象,性能略差
    • String 支持直接遍历
    • Swift 提供了 String 和 NSString 之间的无缝转换

    字符串的使用

    遍历字符串

    // 字符串遍历
    var str = "Hello, Swift"
    for c in str.characters {
        print(c)
    }
    

    字符串拼接

    //两个字符串的拼接
    let str1 = "Hello"
    let str2 = "World"
    let str3 = str1 + str2
    let str4 = str1.appending(str2)
    
    //字符串和其他数据类型的拼接
    let name = "syl"
    let age = 18
    
    let info = "my name is (name), age is (age)"
    
    //字符串的格式化
    比如时间:03:04
    let min = 3
    let second = 4
    
    let time = String(format: "%02d:%02d", arguments: [min, second])
    
    //字符串的截取
    
    // Swift中提供了特殊的截取方式
    // 该方式非常麻烦
    let firstStr = "摩仑科技有限公司"
    let subStr0 = firstStr.substring(to: "摩仑科技".endIndex)
    let subStr1 = firstStr.substring(from: "摩仑科技".endIndex)
            
    // Index创建较为麻烦
    // 简单的方式是将String转成NSString来使用
    // 在标识符后加:as NSString即可
    let myStr = "http://www.cnblogs.com/ShaoYinling/"
    var subStr = (myStr as NSString).substringFromIndex(4)
    subStr = (myStr as NSString).substringToIndex(3)
    subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))
    

    数组的介绍

    • Swift中的数组
    • swift数组类型是Array,是一个泛型集合

    数组的初始化

    • 数组分成:可变数组和不可变数组
      • 使用let修饰的数组是不可变数组
      • 使用var修饰的数组是可变数组

    数组的初始化

    // 定义一个可变数组,必须初始化才能使用
    var array1 : [String] = [String]()
    
    // 定义一个不可变数组
    let array2 : [NSObject] = ["syl", "18"]
    
    // 在声明一个Array类型的时候可以使用下列的语句之一
    var stuArray1:Array<String>
    var stuArray2: [String]
    
    // 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
    // 定义时直接初始化
    var array = ["syl", "man", "100"]
    
    // 先定义,后初始化
    var array : Array<String>
    array = ["syl", "man", "100"]
    

    对数组的基本操作

    // 添加数据
    array.append("HeNan")
    
    // 删除元素
    array.removeFirst()
    
    // 修改元素
    array[0] = "SYL"
    
    // 取值
    array[1]
    

    数组的遍历

    // 遍历数组
    for i in 0..<array.count {
        print(array[i])
    }
    
    // forin方式
    for item in array {
        print(item)
    }
    
    // 设置遍历的区间
    for item in array[0..<2] {
        print(item)
    }
    
    // enum 遍历
    for en in array2.enumerated() {
    	print(en)
    	// 下标
        print(en.offset)
        // 值
    	print(en.element)
    }
    // 下标和数值同时 遍历
    for (n,s) in array2.enumerated() {
         print(n , "==", s);
    }
    
    // 反序遍历
    for s in array2.reversed() {
        print(s)
    }
            
    // 遍历下标和数值 反序
    for (xxx,ooo) in array2.enumerated().reversed() {
        print(xxx ,"====" ,ooo)
    }
    

    数组的合并

    // 数组合并
    // 注意:只有相同类型的数组才能合并
    var array = ["syl", "man","1.80"]
    var array1 = ["100", "HeNan"]
    var array2 = array + array1;
    
  • 相关阅读:
    井字棋先手必胜图解
    python 回溯法 子集树模板 系列 —— 19、野人与传教士问题
    pandas 索引与列相互转化
    按概率随机选取
    java中文乱码解决之道(二)-----字符编码详解:基础知识 + ASCII + GB**
    java中文乱码解决之道(一)-----认识字符集
    Java提高篇(三八)-----Java集合细节(四):保持compareTo和equals同步
    Java提高配(三七)-----Java集合细节(三):subList的缺陷
    Java提高篇(三六)-----Java集合细节(二):asList的缺陷
    Java提高篇(三五)-----Java集合细节(一):请为集合指定初始容量
  • 原文地址:https://www.cnblogs.com/ShaoYinling/p/5823145.html
Copyright © 2011-2022 走看看