专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Swift

【swift-小结】基础使用

发布时间:2011-06-30 07:25:34 文章来源:www.iduyao.cn 采编人员:星星草
【swift-总结】基础使用

声明变量与常量

//使用var声明一个变量
var str = "Hello, playground"
str = "Hello world";

//使用let声明一个常量
let str1 = "我是帅哥";
str1 = "我不是帅哥"; //这句话会报错

let name = "我是帅哥";  //声明一个常量,类型自动推断为String类型
var age:Int = 20;   //声明一个变量指定好类型

输出语句

//在swift1中是println在swift2.0以后一律改为printprint("我说过一句话\(name)");
print("我的年龄是\(age)");

整形

swift提供了有符号和无符号的8位,16位,32位和64位的类型

获取整形的边界

let minValue = UInt8.min;   //获取无符号的8位整形的最小值
let macValue = UInt8.max;   //获取无符号的8位整形的最大值

Int类型

int类型包含的几乎我们常用的整数,64位平台最大值为9223372036854775807

  1. 在32位平台 上Int类型为32位正数
  2. 在64位平台 上Int类型为64位正数

上面两点同样适用于无符号类型

浮点数

  1. Double相当于64位的浮点数
  2. Float相当于32位的浮点数
let pi = 3.14;  //swift默认推断位Double类型

整形和浮点型相加

let sum = 2 + 2.14;     //这样不需要强制类型转换
let count = 2;
lei sum = pi + Double(count);       //这中需要强制类型转换

typealias类型同名

相当于C语言中的typedef

typealias Type = UInt16;    //Type就是UInt16这个类型
var TypeMin = Type.min;     //UInt16的最小值

boolean值

swift中的布尔值位true 和 false
OC中的布尔值位YES 和 NO

var flag = true;    
flag = false;

Tuples元组

元组是几个任意类型值的组合
例如

let myTuples = (20, "沸沸腾"); //myTuples就是一个二元元组,20的序号为0,"沸沸腾"为1

let myTuples1 = (20, "沸沸腾","大帅哥");//这个就是一个三元组

元组的访问

//使用序号访问
print("我的年龄是\(myTuples.0)");        //我的年龄是20\n

//将这个元组赋值给另一个元组接收
let (myName, myAge) = myTuples;
print("my name is \(myName)");

//如果只是需要元组中的某些值可以使用下面这个方法
let (age1, _) = myTuples;
print("my age is \(age1)");

也可以使用下面这种方法声明和使用

let myInfo = (name: "沸沸腾", age: 22);
print("my name is \(myInfo.name), my age is \(myInfo.age)");

可选值optional

optional可能是一个值,也可能不是一个值,当不是一个值的时候就为nil,在swift中nil就是一个确定的类型,并不是指针

var myStr: String?; //myStr就是nil
var myStr: String;  //myStr什么都不是
myStr = "1234";
var num = Int(myStr);   //被推断为1234,位Int?类型
var myStr1 = "hell"
var num1 = Int(myStr1); //转换失败

使用if let把可选值绑定

//num是一个可选值
if let constNum = num {
        print("num 有值 为\(constNum)");//num被成功转为正数
} else {
    print("num 没有 值");
}

多个转个

//如果num有值,num1有值
if let constNum = num, constNum1 = num1 {
    print("num 有值 为\(constNum)");
} else {
    print("num 没有 值");
}

隐式解析可选

隐式解析可选主要用于类的构造过程中

隐式可选其实就是一个普通的可选,但是也可以当做普通类型使用

普通可选访问值

var myStr = "1234";
var num:Int? = Int(myStr);
print("\(num!)");   //得到1234
print("\(num)");    //得到optional(1234);

var myStr1 = "hell"
var num1: Int? = Int(myStr1);
print("\(num1!)");  //报错,因为没有值可以解析
print("\(num1)");   //nil

隐式可选访问值

var myStr = "1234";
var num:Int! = Int(myStr);
print("\(num!)");   //1234
print("\(num)");    //1234

var myStr1 = "hell"
var num1: Int! = Int(myStr1);
print("\(num1)");   //nil
print("\(num1!)");  //报错

错误处理

使用 try catch语句 或者 throw exception

断言

断言就是保证值是要求的,不然就会报错

使用情况:当你的值必须是正确的时候才能保证程序运行,那么使用断言就可以保证值的正确性

let age = -3;
assert(age >= 0, "年龄不符合要求");
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: