Ios Swift学习之一基础知识

##常量与变量

使用`let`来声明常量,使用`var`来声明变量。
一个常量的值,在编译的时候,并不需要有明确的值,但是你只能为它赋值一次。
常量和变量一旦被赋值,它的类型就确定下来了。不可以再更改它的类型。
声明时类型是可选的,声明的同时赋值的话,编译器会自动推断类型。
如果初始值没有提供足够的信息(或者没有初始值),那你需要在变量后面声明类型,用冒号分割。
let implicitInteger = 70 //编译器推断为整型
let implicitDouble = 70.0//编译器推断为double
let explicitDouble: Double = 70//声明为double

可以同时申明多个变量为同一种类型

var red,green,blue:Double
可以使用unicode字符作为常量或变量名

打印常量或变量的值

let str = "this is swift"
print(str)

print("here you see /(str)")

swift是一门类型安全的语言,编译时大量的类型检查会在初期减少很多错误

##注释

单行注释
//this is comment
多行注释可以嵌套
/*this is begin of comment
   /*middle comment*/
this is end of comment*/

##数据类型-整型

Int / UInt在32位平台上相当于Int32,在64位平台上相当于Int64
可以通过属性获取Int最大最小值
let minvalue = UInt8.min
let maxvalue = UInt8.max

##浮点数

Float表示32位浮点数
Double表示64位浮点数

##值的转换

<span style="background-color: rgb(255, 255, 255);">值永远不会被隐式转换为其他类型。不能将一个整型与浮点型相加,除非进行显示转换。</span>
<pre name="code" class="plain">
let one = 70
let two = 70.0
let sum = Double(one) + two


 
 

let str1 = "apple"
let num = 20
let str2 = str1 + String(num)


可以使用_作为分隔符方便阅读,但并不会影响值
let num = 2_000_000


有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号之前写一个反斜杠。
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."

##typealias

相当于typedefine
typealias Auto = UInt16

var maxfound = auto.max

##布尔值

条件判断时只能识别true和false,不能将0或1判断为false或true

let i = 1
if i{
//错误
}

if i == 1{
//正确
}

##Tuples

复合组的概念。复合组内的值的类型可以各不一样。
let http404Error = (404,“Not Found”)
let (code,message) = http404Error
<pre name="code" class="html">print(“the error code is /(code)”)
print("the error message is /(message)")

 可以使用下划线表示缺省 
 
let (code,_) = http404Error

可以使用下标取出tuples的值
print(“the error code is /(http404Error.0)”)
print("the error message is /(http404Error.1)")

也可以在定义tuples时为值命名
let http404Error = (code:404,message:“Not Found”)
print(“the error code is /(http404Error.code)”)
print("the error message is /(<span style="font-family: Arial, Helvetica, sans-serif;">http404Error.</span>message)")
多用在函数返回多个值的情况

##optionals

当一个常量或变量可能有值,可能为空的情况下使用可选值。
var code:Int?= 404
code = nil //此时code的值为空
不能对一个非可选值的常量或变量赋值nil
var code1:Int?= 404
var code2:Int = 404
//是不同的类型,不能相互赋值


对于可选值类型使用前需要先判断是否有值
if code != nil{
}
if code = 404{
//code不为nil,将code赋值为404;否则为false
}

有多个判断,可以用逗号分隔,相当于并的逻辑
if(code = 404,message = “Not Found”){
}

将可选值变为非可选值使用!
let possible:String? = “here”
let forced:String = possible!

##警告

在一些情况下需要检查值并发出警告:检查数组下标范围;检查可选值是否有值;检查函数参数是否有值;
assert(bool,String)

bool值作为检查条件,String是警告语句
let age = -3
assert(age >=0 ,"age cannot be blow zero")



##数组和字典

使用方括号`[]`来创建数组和字典,并使用下标或者键(key)来访问元素。
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"

var occupations = [
    "Malcolm": "Captain",
    "Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"

空数组或者字典:
let emptyArray = (String)[]
let emptyDic = (String:Float)[]



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值