• swift基础01


    let定义常量,不能修改

    let a = 5
      a= 6//错误
    

    var 定义变量可用于更改

    var a = 5
      a = 6
    

    swift中所有的基本类型都是值类型,包括String

    swift中的类都是大写,下面的常量声明是显示指定类型

    let i: Float = 5.5 //不指定类型编译器默认推断为double
    

    //常用的类型String、character、bool、float、double、int

    let bo = true
    let str = "hello word"
    let ch: Character = "a"
    

    元祖类型(tuple),元祖声明的语法就是一个括号,逗号分隔用来存放多个数据

    let t = (404, "not found")
    let t1 = (1,2,3,4,5)
    //通过下表来访问元祖
    t.0
    t.1

    let t2 = (name: "CJ", age: 35.5)//不需要给每个成员都取名字
    t2.name
    t2.age

    let t3:(name: String, age: Float) = ("cj2", 46.6)
    t3.age
    t3.name

    let t4:(String, Float) = ("aaa", 5)
    t4.0
    t4.1

    let t5:(name: String, Float) = ("bbb", 6)
    t5.1

    let t6:(String, Float) = (name: "xxx", agr: 55)
    t6.0
    t6.1
    //t6.name 这是错误的,因为在声明的时候没有指定名字,所以不能用名字访问

    下面的写法(声明的同时就赋值)不行
    let t8: (name: String = "aaa", age: Float = 22)

     String类型

     
    let str1: String
    str1 = "aaa"
    
    var str2 = "abcdefg"
    
    str2.characters.count//取字符串长度
    
    str2.startIndex//字符串开始下标
    
    str2.endIndex //结束下标
    
    str2[str2.startIndex]//取字符串第一个字符
    
    str2[str2.startIndex +1]//不能 +
    
    str2[str2.index(after: str2.startIndex)] //取字符串第一个字符后面的一个字符,即是 "b"
    
    str2[str2.index(before: str2.endIndex)]//取字符串最后一个字符,即是 "g"
    
    str2[str2.index(str2.startIndex, offserBy: 3)] //取字符串从下标0开始到第下标3的位置,既是 d
    
    str2[str2.index(str2.endIndex, offsetBy: -3)] //取字符串从最后一个位置开始,倒数第3的位置 ,既是 e
    
    str2.substring(to: str2.index(str2.startIndex, offsetBY: 3)) //截取字符串下标0开始,往后三个字符,既是 abc
    
    str2.substring(from: str2.index(str2.startIndex, offserBy:3)) //截取字符串下标3往后的所有字符
    
    str2.uppercased() //转大写
    
    str2.lowercased() //转小写
    
    str2.capitalized 首字母大写
    
    str2.hasPrefix("abc")//是否有前缀 “abc”
    
    str2.hasSuffix("abc")//是否有后缀
    
    str2.contains("de") //是否包含 “de”
    

      

     swift操作符基本与c#,java一样

    switch...case ,在swift里面,switch 没有break,匹配到的时候,会自动跳出,不会贯穿。

    case里面必须全部包含比如:

    bool,必须case:true,case:false;

    但如果只有false那么default必须要加,否则报错。

    let age = 5
    switch age {
    case 25:
      print("25")
    }
    case 35:
      print("35")
    default:
      print("默认")

    swift可以使用...,代表范围

    switch age{
      case 1...60:
       printf("asd")      
    default:
      print("fei")  
    }
    

    /********  集合 ArrayDictionarySet ***/

    Dictonaty数组

    var dic = ["a":abc, "b":"def" ]
    dic["a"] //可用下标和key取数组
    dic["c"] = "gg"//赋值
    dic.count
    //循环取key
    for k in dic.keys{
       print(k)  
    }
    
    for v in dic.values{
      print(v)      
    }
    
    for (k,v) in dic{
      print("key is (k) value (v)")  
    }
    

     Set集合

    set是一个值不重复,有相同的值,编译器不会报错,但会忽略掉重复的值,并且是无序的

    var s: Set<Int> = [1,2,3,4,5,5]
    s.count
    s.insert(2) //插入值2
    var s1: Set<Int> = [2,3,6,7]
    let r1 = s.intersection(s1) // s,s1集合相交的值 及2,3
    s.union(s1) //互补
     

    Array集合

    let arr2: Array<Int> = Array<Int>()
    var arr3 = [1,2,3,3]
    let arr4: Array<Int> = []
    arr3[0]
    arr3.append(5)
    arr3.append(contentsOf: [6,7,8])
    arr3 += [10,11]
    //arr3.insert(contentsOf: <#T##Collection#>, at: <#T##Int#>)
    //arr3.remove(at: <#T##Int#>)
    

      

      

      

  • 相关阅读:
    tensorflow学习笔记13
    Java——内部类
    Java——枚举
    Java——代码块
    Java——static
    Java——接口
    Java——final
    Java——权限修饰符
    Java——多态
    Java——抽象类
  • 原文地址:https://www.cnblogs.com/LiaoYJ/p/6080703.html
Copyright © 2020-2023  润新知