//
// main.swift
// 元组
//
// Created by zhangbiao on 14-6-15.
// Copyright (c) 2014年 理想. All rights reserved.
//
/*
多元组主要用于函数的返回值,如果一个函数需要返回多个值,如一个函数需要返回上面描述的HTTP状态码,就可以定义和返回一个上面描述的的多元组。
多元组类型提供了一种简洁的方式使一个函数可以返回多个不同类型的返回值。
多元组适合于创建相关值的临时组合,而不适合于创建复杂的数据结构。
*/
import Foundation
println("元组")
/*
元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。
*/
//(1)声明一个元组
var mytuples=(123,"理想"); // mytuples 的类型是 (Int, String),值是 (123, "理想") *注* 关于元组类型的说明:你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可以创建一个类型为(Int, Int, Int)或者(String, Bool)或者其他任何你想要的组合的元组。
//(2)将一个元组转化为一个变量
var (mynum,mustr)=mytuples; //mynum mustr 是两个变量 mynum 为mytuples元组中的第一个值 ,mustr为mytuples元组中的第二个值
//(3)使用下标访元组或者转换
var mynum2 = mytuples.0;
var mustr2 = mytuples.1;
//(4)以在定义元组的时候给单个元素命名,给元组中的元素命名后,你可以通过名字来获取这些元素的值:
var student=(name:"小明",age:12);
println("姓名:\(student.name) 年龄:\(student.age)");
//(5)元组通常用于函数的返回值较多,其他其可以
func getNumString()->(Int,String)
{
return (12,"小明");
}
//当你仅需要多元组的部分值时,可以使用符合‘_’来指示忽略的其它项:
let (justTheStatusCode,_) =http404Error
println("The status code is\(justTheStatusCode)")
// prints "The status code is 404"