swift 自学笔记 一

一 、.swift学习字符和字符串:

1.字符和字符串简介:
var s =“hello word”
var s2:string = “hi”
var c :character =“A”(字符)
var s3 :string =“dog 🐶”(支持unicode编码)
 
2.字符串字面量(使用双引号括起来的字符序列可以为字符串常量或者变量赋初值)
var s1=“hello”(字面量)
let s2 =“hi”
 
3.初始化空字符串
(直接赋值空字符串
使用初始化函数
可以使用isempty来判断字符串是否为空)
var s = “”
var s2 =string()
printin(s.isempty)
 
4.字符串的可变性
let 不可变
var 可变
如:var s =“hello”
s+=“world”
let s2 =“hello”
s2 +=“world” ;;//编译错误
 
5.字符串是值类型,直类型指的是copy,引用类型是地址传递
 
二.数组.集合.字典
(一).数组
 数组的语法
var  a:array<int>=array<int>()
a.append(1)
a.append(2)
var a:[int]
let a2:arra<string>
let  a3:[float]
 
var  a4 =[1,2,3]//类型推断
a4.append(4)
a4.append(5)
 
 创建一个空数组
(1)var  a:array<int>=array<int>()
a.append(1)
a.append(2)
printin(a.count)
 
(2)a=[]
(3)var a1 =[int]()
var  a2 =[sting]()
 
创建一个有默认值的数组
var ints = [int](count:3 repeatedvalue:100)
for e in ints{
pringtin(e)
 
通过两个数组相加创建一个新数组
var a1 = [1,2,3]
var a2 = [4,5,6]
var a =a1+a2
for e in a{
pringin(e)
 
数组直接赋值创建一个数组
var a1 = [1,2,3]
 
let a2 =[4,5,6]
var  a3 :arrary<string> =[“rnnr”,“dhd”,“sjd”
 ]
var a4 =[“c”,”a “,”b”]
 
数组的访问和修改
 
判断数组为空
count 和is empty
var a= [1,2,3]
printin(a.count )
printin(a.isempty)
a.removeall(keepcatcp:false)
 
通过数组下标来访问
var a =[1,2,3]
let  count = a.count
for var i =0 ,i<count:i++{
pringin(a[i])
 
数组的添加删除
var a= [1,2,3]
a.append(4)
a.insert(100 atindex:1)
a.removelast
a.removeatindex(0)
 
 
数组排序
 
var  a=[1,4,2,3,5]
a.sort{(a1,a2)-》bool in
return  a1< a2
}
 
数组的遍历
 
var a= [1,2,3,4]
for e in a{
 
第二种
for[index,value]in enumetate(a){
prinin(“\(index ),\(value)”)

 (二).集合

集合的数据类型必须是明确的,要么是可以自动推断的,要么是类型标注的

 集合的可变性,var可变,let不可变
集合
简介:
类型相同无序,每个元素只能出现一次,不能重复,集合的哈希值。
 
集合的语法:
var s1 =set<int>()
s1.insert(1)
s1.insert(1)
s1.insert(2)
s1.insert(2)
输出结果为:2,1 不能重复和无序
 
创建一个空集合
func loop(s:set<int>){
for e in s1{
}
}
var s1 =set<int>()
s1.insert(100)
loop(s1)
s1 = []
 
用数组字面量创建集合
var s:set=[1,2,3,1,2,4]
loop(s )
var s2:set<string> =[’tmd’,’kity’,’’rose’']
loop (s2)
 
访问和修改一个集合
countheisempty判断集合是否为空
var s1:set =[1,2,3,4]
s1.insert(100)
pintin(s1.count)
printin(s1.isempty)
 
删除和判断是否包含
s1.remove(2)
s1.removefirst()
printin(s1.conttains(3))
s1.removeall()
遍历一个集合
for e in  s1{
集合的操作(子,交,并,补):
var s1:set=[1,3,5,7]
var s2:set = [1,4,6,7]
var r;set =s1.intersersec(s2)  交集
    
var r;set =s1.union(s2) 
 
var r;set =s1.exclusiveror(s2)
 
var r;set =s1.subtrac(s2)
 
(三)字典
语法
var  dic :dictionary<int,string>=[1:”tom”]
var dic1:dictionary<int,string>
dic1 = dictionary<int,string>
var dic2:[int:string]=[int:string]
 
创建一个空字典
var dic =dictionary<int,string>()
var dic2 =[int,string]()
 
用数组字面量创建字典
var dic =[1:”ww”,2:”like”]  //类型变量
 
访问和修改一个字典
判断字典是否为空count和isempty
var dic =[1:”ww”,2:”like”] 
printin(dic[1])//访问 key访问
 
dic[4] =“joy”
dic[5] =“zhang” //字典的添加
dic.updatavalue(“big like “,forkey:2)  //字典修改
dic.removevalueforkey(1) //字典的删除
dic[2]=nil //字典的删除
 
字典的遍历
var  dic :dictionary<int,string>=[1:”tom”,2:“like”,3:“rose”]
for(key value)in dic{
printin(“\(key):\(value)”)
for key in dic.keys{
printin(key)
for value in dic.values{
printin(values)

 

 
posted @ 2015-11-05 15:51  阮阮3052  阅读(113)  评论(0编辑  收藏  举报