/**************************常量和变量*******************************/
//声明常量使用let,声明变量使用var
let maxImunNumberOfLoginAttempts = 10
var currentloginAttempt = 0
currentloginAttempt = 100
//可以在一行中声明多个常量或者多个变量,用逗号隔开
var x=0,y=0.0 ,z=0.0
//类型标注
var welcomeMessage:String//string类型
var sumArray:NSMutableArray //可变数组类型
//输出常量和变量
print(maxImunNumberOfLoginAttempts,currentloginAttempt)
//分号:swift并不强求在每条语句结尾使用 ; 但在一种情况下一定要用分号,即在同一行写多条独立的语句
let cat = "?" ; print(cat)
//整型 NSInteger
//浮点型:Float(32位) , Double(64位)
//类型安全和类型推断
//swift语言中类型是安全的,会根据类型自动推断。
//布尔值 boolean swift中是由true 和 false
let orangesAreOrange = true
let turnipsAreDelicious = false
if turnipsAreDelicious {
print("Mmm, tasty turnips!")
} else {
print("Eww, turnips are horrible.")
}
// 输出 "Eww, turnips are horrible."
//条件语句 if
let i = 1
if i == 1 {
// 这个例子会编译成功
}
/*元组*/
//元祖(tuples)把多个值组成一个复合值,元组内的值可以是任意类型,并不要求是相同类型
let http404Error = (404,"Not Found")
print(http404Error)
//可以将一个元组的内容分解(decompose)成单独的常量和变量。
let (statusCode,statusMessage) = http404Error
print("The status code is \(statusCode)")
print("The status code is \(statusMessage)")
//如果只需要一部分元祖,分解的时候可以把忽略的部分用下划线 _ 标记
let (_,justTheStatusCode) = http404Error
print("The status code is \(justTheStatusCode)")
//可以在定义元组的时候给单个元素命名:
let http200Status = (statusCode:200,description:"OK")
//通过元素名来获取元组元素的值
print("The status code is \(http200Status.statusCode)")
/*可选类型 optionals ? */
let possibleNumber = "123"
let convertedNumber:NSInteger? = NSInteger(possibleNumber)
print(convertedNumber ?? "")
//if语句强制解析,确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号 (!)来获取值,这个感叹号表示我知道这个可选有值,请使用它,这被称为可选值得强制解析
if convertedNumber != nil {
print("convertedNumber contains some integer value.")
}
//可选绑定
//使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值先给一个零时常量或者变量.可选绑定可以用在if和while语句中,这条语句不仅可以用来判断可选类型中是否优质,同时可以将可选类型中的值赋给一个常量或者变量
if let constantName = NSInteger(possibleNumber) {
print("\'\(possibleNumber)\' has an integer value of \(constantName)")
}
//隐士解析可选类型
//如果可以确定对象总是有值得情况下可以用隐式解析,把想要用作可选的类型的后面的问号(String?)改成感叹号(String!)来声明一个隐士解析可选类型。
let possibleString:String? = "An optional string"
let forcedString:String = possibleString!//需要用感叹号来获取值
let assumedString:String! = "An implicitlyunwrapped optional string"
let implicitString:String = assumedString//不需要感叹号
//你仍然可以把隐士解析可选类型当做普通可选类型来判断它是否有值
if assumedString != nil {
print(assumedString)
}
//也可在可选绑定中使用隐式解析可选类型来检查并解析它的值
if let definiteString = assumedString {
print(definiteString)
}
//错误处理,函数可以通过在声明中添加 throws 关键词来抛出错误信息,当函数能抛出错误信息时,应该在表达式中前置try关键词
func canThrowAnError() throws{
//函数可能有抛出错误
}
do{
try canThrowAnError()
//没有错误消息抛出
} catch {
//有一个错误消息抛出
}
//一个do语句创建了一个新的包含作用域,使得错误能被传播到一个或多个catch从句,这里有一个错误处理如何来应对不同错误条件的例子
func makeASandwich() throws {
}
/* 断言*/
//使用断言进行调试
//可以使用全局 assert(_:_:file:line:)函数来写一个断言
let age = -3
// assert(age >= 0,"A persion's age cannot be less than zero")
swift四 -基本类型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 小学语文修改病句的方法 修改病句是小学语文考试中常见的题型,在修改病句之前,我们应该清晰的了解有哪些病句现象,下面...
- var 定义变量,设置之后可以修改let 定义常量,设置之后不可以修改语句末尾不用使用 ;在 Swift 中使用 ...