Swift入门基础知识

简介: var //代表变量,变量的值可以改变 let//代表常量类型不可改变 //声明常量heh类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好,可能会减少系统的开销),值为10 //自动判断变量的类型  let heh = 10//假如在下面的代码...

var //代表变量,变量的值可以改变

let//代表常量类型不可改变

//声明常量heh类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好,可能会减少系统的开销),值为10

//自动判断变量的类型

 let heh = 10//假如在下面的代码中没有用到该变量Swift就会提示将let改为下划线,因为下划线代表忽略该变量,就相当于OC中提示并没有用该属性或者变量一样,估计没用到的变量一般人也不会写,只是给刚入门的说一下并不是你写错了或者Xcode有问题,只是Swift提示很细

//声明指定变量的类型

 let heh:Double = 10.000

//声明变量hehe类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好),值为10

  var heh:Double = 10//假如声明的变量没有改变的话Swift也会提示将其改为let

//修改变量的值

  heh = 12

//输出打印信息

  print(heh)

 

Swift还可以用中文当作变量的名字,因为Swift支持unicode编码,所以变量名可以是中文甚至是表情(感觉中文还是好一点,和java一样代码的风格也都和java一样)

比如:

   var 测试:Double = 10

        测试 = 12

        print(测试)

 而且Swift的字符串不用带@,直接""就可以了

 

 

//遍历字符串

let zifu:String="abcdefghijk"

        for zf in zifu.characters {

            print(zf)

        }

或者也可以这样直接将字符串进行遍历(因为Swift会自动把字符串判断成String类型)

        for zf in "abcdefghijk".characters {

            print(zf)

        }

//合并字符串(表示和java基本上就是一样啊)直接用加号就可以了字符串a,b。合成字符串c就是c=a+b

        let zifu:String="abcdefghijk"

        let zf2="xyz"       

        let zf3 = zifu+zf2

        print(zf3)

        print(zifu+zf2)

 

//转义输出就是5*10=50

       let a = 5

        let b = 10

        let js = "\(a)*\(b)=\(a*b)"

        print(js)

 

 

//数组 数组元素必须统一这个就不说了

  let names = ["","","","","","","",""]

      print(names)

       

//字典假如键所对应的值类型都是一样就照着下面写就可以

   let zidian = ["a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11]  

        print(zidian)

 

假如值的类型有很多种那么Swift就会提示变成下面这种

 

 let zd = ["jian":"zhi","hehe":5,"sds":8,"sdffd":43,"fdss":"dsdds","dasa":"dsdsd","cdsd":454] as [String : Any]

 

一看就知道了,后面语句的意思就是键是String类型的,而值为任意类型的

 

//循环(基本上其他语言有的这里都有)

  for zf in "abcdefghijk".characters {

            print(zf)

        }

//1...5代表遍历1到5包括1和5(三个点代表全闭区间)

 for number in 1...5 {

            print(number)

        }

//1..5代表遍历1到5包括1但不包括5(两个点代表半开半闭区间不包含右边的区尾)

 for number in 1..5 {

            print(number)

        }

//遍历字典,可以一下就把键和值都遍历出来

  let zd = ["jian":"zhi","hehe":5,"sds":8,"sdffd":43,"fdss":"dsdds","dasa":"dsdsd","cdsd":454] as [String : Any]

        for (j,z) in zd {

            print("键=\(j),=\(z)")

        }

 

//数组操作

 

 //数组数组元素必须统一这个就不说了

        var names = ["","","","","","","",""]

 //显示元素

        print(names[0])

  //增加元素

        names.append("")

 //修改元素

        names[0]=""

 //把第三个元素到第五个元素替换掉

        names[3...5]=["",""]

 

   //字典

        //定义一个可变字典

        var zidian = ["a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11]

        

        //修改字典某个键的值

        zidian["a"]=8

 

 //方法,Swift中的方法是这样的

    //参数和返回值都为空的一个方法 

    func kong()

    {

        print("")

    }

 

//带参数的方法,但是没有返回值

 func hello(hehe:String) {

    

        print("\(hehe)")

    }

 

 //带参数并且有返回值

    func fanhuizhi(name:String) -> String {

        return name

    }

 

 

    //多参数多返回值

    func duofanhuizhi() -> (Int,String) {

        return(200,"haha")

    }

 

//多参数多返回值第二种类型

    func duofanhuizhi2() -> (code:Int,name:String) {

        return(200,"haha")

    }

 

 

    

 

 

 

 

 

 

 

 

 

 

相关文章
Swift 面向协议编程入门
本文讲的是Swift 面向协议编程入门,这个教程也是为了那些不知道类和结构体根本区别的人写的。我们都知道在结构体里是没有继承的,但是为什么没有呢?
1153 0
|
Swift
《Swift入门经典(第2版)》——2.6 作业
创建一个新的playground。创建两个常量,保存你的名字和姓氏。创建另一个常量,保存你最喜爱的引文。通过使用连接和字符串插值,结合并显示变量。接下来,尝试获得在结合的字符串中包含多少个字符的统计值。
1395 0