//类型安全,swift中不支持隐式转换//var c = 100//var c1 = 100.85////let res = c + c1//总结:swift 中不同数据类型,不能赋值和运算//---------循环语句---------//for in /for/while/ do whilevar sum_1 = 100while(sum_1 > 50){ //--,++ 不能空格 sum_1-- print("sum_1 \(sum_1)")}//do while repeat{ sum_1-- print("sum_1 \(sum_1)")}while(sum_1 > 50)//总结:do while 换成了repeat while 其他语法没有改变//分支语句// if elsevar girlfrIEnd = (name:"XXX",age:30)if girlfrIEnd.age <= 18{ print("too young too naive")}else if girlfrIEnd.age > 18 && girlfrIEnd.age <= 22{ print("I want you")}else if girlfrIEnd.age > 22 && girlfrIEnd.age <= 30{ print("not bad")}else{ print("OMG")}//Switchlet source = 68;switch source{case 0..<60: print("不及格")case 60..<80: print("及格") fallthroughcase 80..<90: print("良好")case 90..<100: print("优秀")case 100: print("满分")default : print("输入有误")}//Switch判断条件可以是字符串let let_str = "lee"switch let_str{ case "zz": print("doubi") case "lee": print("cool")default: print("yeah")}let point = (0,0)switch point{case (0,0): print("原点")case(0,_)://占位符_ print("y轴上")case(_,0): print("x轴上")default: print("其他")}/*1:switch不需要加break,也就是默认没有贯穿,判断条件不用加()2: 如果想实现贯穿需要加 fallthrough3: switch可以以字符串和元组作为判断条件*///----------函数----------//1.无参无返回值函数func method1() ->VoID{}//省略版 无参无返回值函数func method2(){ print("我是无参无返回值的函数")}//2:无参有返回值func method3() ->String{ return "wp"}let func_str = method3()print(func_str)//3.有参无返回值func method4(A:Int,B:String,C:float) ->VoID{}//4.有餐有返回值func method5(A A:Int,B:Int) ->Int{ if A > B { return A }else { return B } // return A > B ? A : B}let func_int1 = method5(A : 100,B : 25)print(func_int1)//5.有参有返回值(返回多个值)func method6 (name:String,age:Int,gender:String) ->(String,Int,String){ return("ez",18,"boy")}print(func_int1)let fun_str_2 = method6("s",age: 12,gender: "female")print(fun_str_2.0)//交换函数参数的值(如果改变参数函数,需要在参数前面加一个关键字:inout)func method7(inout A:Int,inout B:Int) ->VoID{ let temp = A A = B B = temp}var A = 100var B = 999method7(&A,B: &B)print(A)//---------------------------枚举-----------------------enum Season : Int{ case Spring = 0 case Summer case fall case winter}//根据C语言对比,枚举多了Case关键词,不用加逗号“,” Swift中枚举为 int 类型的, 不会默认从0开始let enum_1 = Season.Spring//typealias Newname = Seasonswitch enum_1{case.Spring: print("春天")case.Summer: print("夏天")case.fall: print("秋天")default: print("冬天")}print(enum_1)//总结:Switch用枚举作为判断条件,case后面是用“.”来获取枚举的值//switch中,当所有case条件满足,default可以省略,若不满足必须加default//第二种枚举(可以用字符串定义枚举值)enum Season2:String{ case Spring = "春天" case Summer = "夏天" case Autumn = "秋天" case Winter = "冬天"}//----------------结构体--------------// Swift结构体,相当于swift中的类。结构体是值类型(重新拷贝一份值,修改拷贝的值对原来的值没有影响,类是引用类型(共用一个内存地址,原值会改变影响新值)struct Person { //对象的属性 var name: String var age : Int //对象的方法 func sayHello()->VoID { print("你好") } //类方法 static func sayHi() ->VoID { print("HI") } //类属性 static var personname:String?}//生成一个对象let per1 = Person(name: "z",age: 21)//调用对象方法per1.sayHello()//输出对象的名字print(per1.name)//调用类方法Person.sayHi()Person.personname = "lisi"var p1 = Person.init(name: "lol",age: 111)var p2 = p1print(p2.name)p1.name = "zzz"print(p2.name)print(Person.personname!)//类class Student { var name: String?//类,声明属性必须用可选方法 var age: Int? func sayFuck()->VoID { print("fuck") } static var studentname:String?}var stu1 = Student()stu1.name = "www"stu1.age = 35var stu2 = stu1print(stu2.name)stu1.name = "hole"print(stu2.name)总结
以上是内存溢出为你收集整理的swift基础之<二>全部内容,希望文章能够帮你解决swift基础之<二>所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)