以上錯誤的原因在於=和後面的值並沒有空間間隔,正確語法應該如下
2. var 並不是像JavaScript一樣,指的是一佪不嚴謹的型態,而單純是表示這是一個
變數,有點類似VB6的Dim .
3.swift是採取推論型態(infer type),例如 var str = "abc" ,刖str為String,
若var num = 10 則num為int型態,若 var num2=3.14159則num2為 double
4.明確指定型態
var str:String
str = "test"
5.let com = "gogo" 表示這是一個常數
6.布林值應用
var isOk:Bool
//也可以用1/0
isOk = true
var compare1=100>200
//conditional 控制流程
if (compare1)
{
println("成立")
}
else
{
println("不成立")
}
7.元組應用
var HttpError=(404,"not found")
//assignaccess
var(errorcode,message)=HttpError
print(" 網頁錯誤代碼: \(errorcode) 訊息:\(message)")
在HttpError中可以有不同的型別以及不限定HttpError內容有多少個資料。
errorcode取值時是依據HttpError變數的順序,
\(errorcode)是用來做parttern print
8.具名元組應用
var personal2=(id:"001", name:"張三豐" , address:"大陸武當山" , salary:50000)
personal2.address="高雄市大甲區"
//取出具名配對值
println("編號:\(personal2.id) 姓名:\(personal2.name)地址\(personal2.address) 薪資:\(personal2.salary)")
可以像物件的屬性一樣取值。
9.collection
var employees=[
(id:"001", name:"張三豐" , address:"大陸武當山" , salary:50000),
(id:"002", name:"張無際" , address:"大陸武當山" , salary:50000),
]
println(employees.count)
var e1=employees[1]
println("編號:\(e1.id) 姓名:\(e1.name)地址\(e1.address) 薪資:\(e1.salary)")
可以在collection中宣告多組具名的元組應用,並且像array一樣用index取一整組出來用。
10.將字串轉成Int
//定義字串
var myStr = "123"
//轉成Int
var r1=myStr.toInt()
這裡要注意一件事,先看下一面這張圖
你會發現回傳的Int型別有個問號,swift引入了Optional觀念,在轉型失敗時,會傳回nil,
而不會因為沒有try catch而整個crash。而Optional在做運算時必須Implicit casting
才能使用。
下圖是轉換成Int後,xcode會告訴你這是一個Optional(123)
我們要先對它做隱含轉型,在變數後方加入一個驚嘆號後,它變成123了
如果轉型失敗則會是nil ,可以先判斷是否為nil不需要用到try catch
//: Playground - noun: a place where people can play
import UIKit
//定義字串value type
var myStr = "abc"
//!表示隱含轉型
var r1=myStr.toInt()
if (r1 == nil)
{
println("not Int")
}
else
{
println(r1!)
}
沒有留言:
張貼留言