您的位置:首页 > 移动开发 > Swift

Swift 基础学习(1)

2017-04-06 00:00 162 查看
摘要: 作为一个程序员,危机感十分严重,如果只会单一的一种语言,说不定就 Game Over,平时利用时间 学学 Swift ,H5.

// MARK: ----------变量,常量-----------

/*
声明常量/变量的方式 let/var name: Type
初始化值的方式 var/let name: Type = initValue

let 关键字用来声明常量,若给定确定的值,不可修改,修改编译报错
var 关键字用来声明变量,开发中最好给个初始值,可以修改
*/
let firtstLet : Int
firtstLet = 2

var firstVar : Int
firstVar = 3

let secondLet : Int  = 4
/*
second = 5 报错
*/

var secondVar : Int = 6
secondVar = 7

// 输出
print(firtstLet,firstVar,secondLet,secondVar)

// MARK: ----------类型推断-----------

/*
Swift 是推荐类型推断的,也就是不需要我们在声明时指定具体的类型,只需要赋值就可以根据值来自动推断出其数据类型;不是所有情况下都可以使用类型推断的,一定是我们知道已经知道其具体类型且我们希望是这种类型的情况下才使用类型推断.
*/

//如: let constant = 10,不需要指定其类型为Int  Swift会根据数值 10 推断出其类型为int

let constant = 10

// 反例:let floatValue = 10.0  类型推断floatValue 为 Double 类型,是错误的
let floatValue = 10.0

// 正确写法
let floatValue1 : Float = 10.0
let floatValue2 = Float(10.0)

// MARK: ----------类型转化-----------

/*
Swift 是强类型语言,比OC还要强,对于类型的转换,永远不会隐式转换,因此在需要类型转换的地方,必须手动添加代码转换
*/

var doubleValue = 110.0
/*
var intValue: Int = doubleValue 报错
*/
// 正确写法
var intValue: Int = Int(doubleValue)

// MARK: ----------类型别名-----------

/*
使用typealias关键字给一个已经存在的类型指定别名。指定别名后,就可以使用该别名来声明常量或者变量。
*/
typealias AudioSample = Int

var name: Int = 1
// 等价于
var name1: AudioSample = 1;

//  MARK:---------------------布尔类型--------------

/*
在Swift中 布尔类型是使用 Bool  其值只有真假,也就是 true  false  与 OC语言不同,不是 YES  NO
*/
// 推荐 使用 is  should  can 开头
var canTransfer = true
let isSuccessful = false

if canTransfer {
print("d")
} else {
print("g")
}

// MARK:---------------------------元组类型--------------------

/*
OC中 没有元组类型,而 Swift 中的 元组类型  跟 OC中的数组,字典类似 ;声明元组类型很简单:()包裹起来,元素的类型可以是任意类型,元组内的元素可以通过 加上 0 1 2来访问,如果有名称 可以直接使用名称获取
*/

let httpError = (404,"http not  found")

var httpError1 = (errorCode: 404,errorMessage: "http not found")

print(httpError.1,httpError1.errorCode)

let (statusCode,statusMessage) = httpError
print("The Code is \(statusCode)")

let (StatusCode,_) = httpError
print("\(StatusCode)")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息