//打印
//print(“hello world”)
//打印插值
// print(“我要查值(变量)”)
//常量变量
//常量与变量名不能包含数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。也不能以数字开头,但是可以在常量与变量名的其他地方包含数字。
let str = “100”;
var currentLoginAttempt = 0;
//多行变量用逗号分开
var x=0,y=0.0,z=1.0;
//类型标注
var string:String;
string = "��";
print("我的名字叫\(string)")
//类型转换
let three = 3;
let pointDouble = 0.1415;
let pi = Double(three) + pointDouble;
print(pi);
let intpi = Int(pi);
print(intpi);
//boolean
let orangesSreOrange = true;
let trunipsAreDelicious = !orangesSreOrange;
print(trunipsAreDelicious);
if trunipsAreDelicious {
print("我是非0");
}else{
print("我是0");
}
//元组
//元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型
//类型是int string
let http404Error = (404,"not found");
//也可以定义元组的时候给单个元素命名
let http200status = (statusCode:200,description:"ok");
// //只需要元祖的一部分可以用_忽略
//取元组的某一个部分可以用下标代替
print("错误码\(http404Error.0)")
//可选类型
//包含一个可选的int类型的值404;
let possiblenumber: Int? = 404;
//nil ==现在不包含值
//possiblenumber = nil
//自动为nil
var surveyAnswer: String?
//注意:oc中nil指向一个不存在的对象指针,swfit:一个不确定的值
//if语句来判断一个可选值是否包含值
if surveyAnswer != nil {
print("有值");
}else{
print("木有值");
}
//可选绑定
if let fitstNumber = Int("4"),let secondNumber = Int("42"),fitstNumber<secondNumber && secondNumber<100{
print("\(fitstNumber)<\(secondNumber)<\(100)");
}
//解决函数错误处理方式
func mackasandwich() throws {
}
do {
try mackasandwich()
print("没有错误抛出")
}catch{
print("有错误抛出")
}
//
// //断言,类似if语句,当为真继续执行,当反那么就运行结束
// let age = -3;
//
// assert(age>=0,”断言语句”)
//
///----运算符----///
//一元运算符 -a,!b等
//二元:a+b,a-b等
//三元:(a?b:c)
//组合运算符
var a = 2;
a += 1;
//现在a为3 a= a + 1
print(a);
/*
等于(a == b)
不等于(a != b)
大于(a > b)
小于(a < b)
大于等于(a >= b)
小于等于(a <= b)
swift不提供 ===和 !==*/
//元组比较大小:第一个元素决定大小,当第一个元素想等,第二个元素比较
//存有bool值的元组不能被比较
//,三目运算符:它的形式是 问题 ? 答案 1 : 答案 2
//区间运算符(a...b)定义一个包含从a到b所有值的区间
for index in 1...5 {
print("\(index) * 5 = \(index * 5)");
}
//半区间 (a..<b)从a到b单不包括b
let names = ["a","b","c","d","e"];
let count = names.count;
for i in 0..<count {
print("第\(i + 1) 个叫 \(names[i])")
}
//单侧区间[2...]
//逻辑运算符 !非(去反), &&(同时为)与 或(条件成立一个)