playground 它是用来练手学swift的,写一句代码出一行结果(右侧),可以实时查看代码结果,是学习swift语言的利器!
声明一个变量
var a =1
var b : Int = 1 //Int类型推断通过右值推断出来左边的类型
var c = 0.5 //Double 推断出来的
var d = Int(c) //类型转换 Double 转换为 Int
声明一个常量
let const = 10 //不可修改
//字面值
x=0000000015//Swift中会忽略前面任意多个零 八进制前面加0o(数字0 字母 o) 结果还是15
x=10_0000_0000//_没有任何意义,只是为了增加可读性
//二进制的字面值
x=0b11100
//八进制的字面值
x=0o15
//十六进制
x=0xff00ff00//透明度红绿蓝
//浮点数
vary =3.14
y=1.25E-2//科学计数法相当于1.25 * 10 ^ -2
//声明一个sring变量,并初始化
var str ="Hello, playground"
//声明一个变量但没有初始化
var str : String
letwelcomeMessage :String
//变量和常量没有初始化,都不能使用
//第一次赋值不是赋值,是初始化
welcomeMessage="Welcome to swift"//给常量初始化
//第二次是赋值是修改
//welcomeMessage = "abc" //常量不能修改
//字符串拼接
varlabel ="This is "
varlabel2 ="Label"
vartext =label+label2
varwidth =94
vartext2 =text+" "+String(width)
下面这种拼接比较简单
var hour =11
let min =30
let sec =35
let time ="\(hour)小时\(min)分\(sec)秒"
var f1 :Float
var f2 :Double
var f3 :Float32
var f4 :Float64
var f5 :Float80
//实际上是给Double起了个别名叫Float64
//typealias Float64 = Double
/*typedef double float64*/
//给Float32起个别名叫MyFloat
typealias MyFloat =Float32
var f6 :MyFloat=3.14
Bool 只有 ture 和 false
//函数类型的变量
var function : (Int) -> Void
func test(a : Int){
print("a = \(a)")
}
function = test
function(100)
func test2(function: (Int) -> Void){
function(200)
}
test2(test)//OC 方法选择其中传入方法名 selector("test")
test2({ //OC 中的 Block 块
(a) -> Void in print("sss");
})
str4="abcd"
if str4.isEmpty{//判断是否是空串
str4 += "abc"
}else{
print("这个字符串不是空的")
}
//Swift值类型和引用类型
//String是swift中的字符串类型是值类型
//NSMutableString是OC中的字符串类型是引用类型
//String值类型
/* swift中的结构体都是值类型,,类都是引用类型*/
//字符
varch ="A"//swift中字符也用双引号,但该变量会被推断为字符串
//声明字符必须类型标注不能推断
varch2 :Character="A"
varstring ="abc"
varstring2 ="abc"+String(ch2) +"def"
varstring3 ="abc\(ch2)def"
//通过字符数组创建字符串
var catCharacters : [Character] = ["C","a","t","!"]
var catString =String(catCharacters)
//遍历字符串所有字符
for char in catString.characters{
print(char)
}
//查看字符串有多少个字符
catString.characters.count
catString += "aa"
//在原有字符串基础上加新的内容生成一个新的字符串返回原字符串不变
var newString = catString.stringByAppendingString("bb")
if newString.hasPrefix("Ca") {
print("字符串是以Ca开头的")
}
if newString.hasSuffix("bb") {
print("字符串是以bb结尾的")
}
//转义字符\ \n \t
let wiseWords ="\"想象力比知识更重要\" --爱因斯坦"
ifnewString.hasPrefix("Ca") {
print("字符串是以Ca开头的")
}
ifnewString.hasSuffix("bb") {
print("字符串是以bb结尾的")
}
//转义字符\ \n \t
letwiseWords ="\"想象力比知识更重要\" --爱因斯坦"