码迷,mamicode.com
首页 > 编程语言 > 详细

Swift基础语法(一)

时间:2015-05-16 23:16:43      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

  swift是一个基于objc进化过来的一个新的 OS X/IOS编程语言,而objc是基于c语言进化过来的一门编程语言。所以理论上说objc与c++是同一代产物并且objc与c++是相互独立的两套体系,知道这些以后你就不难理解为什么objc与c++混编要把文件名改成mm而objc与c混编不用修改文件名了

常量与变量

  在swift中常量用let定义,变量用var定义

  定义格式

 1 //定义并且不赋值
 2 //常量
 3 let 标识符 : 数据类型?
 4 //变量
 5 var 标识符 : 数据类型?
 6 //定义且赋值
 7 //常量
 8 let 标识符 : 数据类型= 9 //变量
10 var 标识符 : 数据类型=值

  特别说一下swift的标识符是用Unicode字符编码表示的,也就是说你出来不能用数字、敏感字段定义变量,其余的各种文字随便用这与objc和c/c++有很大不同。objc和c/c++的标识符是用ASCⅡ码实现的。知道这个原理之后,我做了个实验。

//函数声明
func 测试函数(text:String){
        println("\(text)")
    }
//函数调用
测试函数("22222")

  编译、执行一切OK

基本类型

  基本类型这一块swift是兼容objc类型的我只对新增类型做一个介绍

数字类型

  swift的数字类型有Integer/Int/Float/Double

  Integer类型其实就是objc里的Int8类型

  Int/Float/Double 根据运行机器的CPU位数作为变量位数。比如在iPhone5上Int是Int32而在iPhone5s上Int是Int64以此类推

  数字表示:

  十进制:直接写数字 比如var a =10

  二进制:0b加数字 比如 var a=0b1010

  八进制:0o加数字 比如 var a=0o12

  十六进制:0x加数字 比如 var a= 0x0A

  以上这四个变量的十进制表示都是10

类型别名(typealias)

  swift里的typealias相当于c语言里的typeof

布尔类型

  swift里的bool相当于与oc里的BOOL只有两个值:true ,false

  swift里的条件判断返回的都是bool 

//在c里我们可以这么用if
int a=1;
if(a)
    printf("%d",a);
//但我们同样的代码放到swift里
var a:Int=1
if a{
    println(a)//error
}

 

元祖(Tuples)

  swift里的tuples当我第一次看到他时,以为他是数组(我X,数组不是Array么?Tuples是什么鬼)仔细一看不是。它既能当数组又能当强类型字典,官方文档里说主要用于函数返回。其实我认为它就是个多功能的结构体(c++),随时使用定义简单

//定义方式1
let a=(15,"age")
//输出15
println(a.0)
//输出age
println(a.1)
//定义方式二
let b=(name:"Tony",age:15)
//输出name:Tony age:15
println("name:\(a.name) age:\(a.age)")

可选类型(Optionals)

  与其说Optionals是基本类型不如说它是每个基本类型的必要属性,如果有值Optionals为true反之Optionals为false。

var a="123"
if let b=a.toInt(){
    println(b!)
}

  如果if后面直接加一个变量是判断这个变量有没有值。 b后面的感叹号是代表b不为nil toInt()函数是把字符串转换为Int类似 你可以把if去掉再把123改成hello试试看会发生什么

调试专用函数

  调试专用函数assert(条件,字符串)如果条件不成立输出字符串

 

今天就写这么多,如有错误尽请指教。本人感激不尽

Swift基础语法(一)

标签:

原文地址:http://www.cnblogs.com/dctechnology/p/4508037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!