首先我们可以去使用Playground来编码,并且会实时的显示对应的编码信息,这样我们就不用每次都去运行程序来显示输出的东西了哦,也方便了我们对某些语句的验证,这个是比较赞的
var与let
前者为可变修饰符,后者为不可变
从字面意思我们就可以很好的区分了
letname="KuTian" varanotherName="XiaoHua" anotherName="KuTianXiaoHua"
常用的类型呢,跟其他语言基本相同啦,主要有几种:
1.int类型 2.Float,Double类型 3.String类型 4.Boolean类型
当我们去声明一个变量的时候,可以选择初始化它的类型哦
但是在这里,我们的Bool类型只有true和false哦,至于0和1,我们还是要区分的哦
varmaxValue=UInt8.max varminValue=UInt8.min vardoubleValue=3.14 varanotherValue=doubleValue+Double(minValue) varstringValue:String="swh" varisDouble:Bool=true ifisDouble{ println("true") }
接下来就是简单介绍一下字符串的一些语法
这里有意思的就是字符串可以去加上另一个字符串得到一个新的字符串
也就是用“+”来拼接字符串,所以“+=”也是好用的呢
然后就是它的一些属性吧
比如:判断是否为空,遍历字符串中的字符,统计字符串中的字符数量,判断字符串是否相等,判断是否以**为前后缀 等等咯
varname="sunwanhua" varhello="Hello" vargreet=hello+name println("Hello\(name)!") //我们在输出的时候,只有变量的话就直接写,如果在""里面就要加上\(变量名) varstring="Mynameis" string+=name println(string) varemptyString:String="" //直接调用字符串的方法,用"."语法来调用 ifemptyString.isEmpty{ println(true) }else{ println(false) } forcharin"sunWanhua"{ println(char) } varstringCount="KuTian" //用count(变量名)来获取当前变量的长度 varstrCount="\(count(stringCount))" println(strCount) varstr1="sunWanhua" varstr2="SunWanhua" //这里我们就不需要用isEqualTo:等语法了哦,直接"==" ifstr1==str2{ println("相等字符串") }else{ println("不相等字符串") } varpreFixString="lo" varproductString="longlong" varnextString="langlang" ifproductString.hasPrefix(preFixString){ println(true) }else{ println(false) } ifnextString.hasSuffix("ng"){ println(true) }else{ println(false) }
接下来就是数组了哦,也是蛮简单的
varstoneHero:[String]=["血法师","萨满","战士","德鲁伊","圣骑士","牧师","术士","盗贼","猎人"] //直接修改数组内元素的值 stoneHero[0]="法师" forheroinstoneHero{ println(hero) } //这里涉及到新的数据结构:元祖(index,value),我们想象一下(404,"error") //这里要是用元祖遍历,需要把对应关系搞好,那么数组也需要类似元祖的形式enumerate() for(index,value)inenumerate(stoneHero){ println("\(value)所在位置为:\(index+1)") } println(stoneHero.count) ifstoneHero.isEmpty{ println(true) }else{ println(false) } stoneHero.append("旅店老板") stoneHero+=["旅店老板娘"] //[4...6]应该就是闭区间的意思吧,就是4,5,6 //而还有种写法就是半开区间[4..<6],就是4,5 stoneHero[4...6]=["why","do"] stoneHero.insert("you",atIndex:6) stoneHero.removeAtIndex(4) stoneHero.removeLast() //下面的意思就是创建一个数组,且类型、值相同的几个元素 varthreeDoubles=[Double](count:3,repeatedValue:1.0) varanotherThreeDoubles=Array(count:3,repeatedValue:2.5) //相同类型的数组还可以进行互相加减哦 varsixDoubles=threeDoubles+anotherThreeDoubles forvalueinsixDoubles{ println(value) }
然后呢,就是字典啦,快来看看吧
varcountry=["cn":"中国","us":"美国","jp":"日本"] varanotherCountry:Dictionary<String,String>=["cn":"中国","jp":"日本"] varemptyDictionary=[:] //所以说,有了元祖以后,就很好的可以控制字典啦,哈哈,看样子元祖跟字典是配套玩的咯 for(shortName,longName)incountry{ varresult=shortName+":"+longName } forshorNameincountry.keys{ varresult=shorName } forlongNameincountry.values{ varresult=longName } varshortNameArray=Array(country.keys) varlongNameArray=Array(country.values) country["cn"] country["jp"] country.count country.updateValue("瓷器",forKey:"cn") country["cn"]="xiaowang" country.removeValueForKey("cn") country["jp"]=nil
其实数据类型还好啦,跟O-C里面基本大同小异了,可能写法更简单化了哦,应该也不用考虑内存的使用了吧,这也让更多的人好入手了啊,看样子比较不错
好啦,就先写这么多吧,回头学习的时候抽时间再来写哦