swift基本语法(总结提炼版)之001常量&变量

来源:互联网 发布:淘宝粉星便利店靠谱么 编辑:程序博客网 时间:2024/05/01 07:41

简单体验

// 定义变量var i = 10print(i)i = 15print(i)let j = 20// 常量一经定义不能自改数值//        j = 25print(j)
  • 阶段性小结
    • var 定义变量,设置之后可以修改
    • let 定义常量,设置之后不可以修改
    • 语句末尾不用使用 ;
    • 在 Swift 中使用 print() 替代 OC 中的 NSLog
    • print 的性能更好,后面会演示

定义 OC 对象

// 实例化视图let v = UIView(frame: CGRectMake(0, 0, 100, 100))// 设置背景颜色v.backgroundColor = UIColor.redColor()// 添加到根视图view.addSubview(v)
  • 阶段性小结
    • 在 Swift 中要实例化一个对象可以使用 类名() 的格式,与 OC 中的 alloc/init 等价
    • OC 中的 initWithXXX 在 Swift 中通常可以使用 类名(XXX: ) 找到对应的函数
    • OC 中的 [UIColor redColor] 类方法,在 Swift 中通常可以使用 类名.XXX 找到对应的函数
    • 使用 let 修饰 v 并且赋值,表示 该常量的内存地址不允许修改,但是可以修改其内部的属性
    • 当前对象的属性,不需要使用 self.

常量&变量的使用原则:尽量先用 let,只有需要变的时候,再用 var,能够更加安全

变量类型

let x = 10let y = 10.5let z: Double = 20print(Double(x) + y)print(x + Int(y))print(y + z)
  • 阶段性小结
    • 初次接触 Swift 中会因为简单的 var let 误以为 Swift 中的类型非常松散
    • 其实所有变量的准确类型都是在赋值的同时自动推导的
    • Swift 是对类型要求非常严格的一门语言,一个值永远不会被自动转换成其他类型
    • 如果要转换,必须显示转换,Swift 中
      • 小数默认是 Double 类型
      • 整数默认是 Int 类型
    • 如果要显式的指定变量的类型,可以在定义是使用 var 变量名: 类型 = 值
演练:

/*
输出:
C: printf("Hello, World!");
OC:NSLog(@"Hello, World!");
Swift1.2:println("Hello, World!")
Swift2.0:print("Hello, World!")
*/
print("Hello, World!")

/*
“使用let来声明常量,使用var来声明变量”
变量:
OC:
>先定义再初始化
int num;
num = 10;


>定义的同时初始化
int num2 = 20;

Swift:
>先定义再初始化
var num
报错: 没有指定数据类型(type annotation missing in pattern), 在Swift中如果想要先定义一个变量, 以后使用时再初始化必须在定义时告诉编译器变量的类型(类型标注)
*/
var num: Int
num = 10

/*
>定义的同时初始化
在Swift中如果定义的同时初始化一个变量,可以不用写数据类型, 编译期会根据初始化的值自动推断出变量的类型(其它语言是没有类型推断的)
以后在开发中如果在定义的同时初始化就没有必要指定数据类型, 除非需要明确数据类型的长度或者定义时不初始化才需要指定数据类型
*/
var num2: Int = 20
var num3 = 20

/*
“你可以用任何你喜欢的字符作为常量和变量名,包括 Unicode 字符:”
“常量与变量名不能包含数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。也不能以数字开头,但是可以在常量与变量名的其他地方包含数字。”
错误:
var 3x = 10
var x+-3 = 10
*/
var 哈哈 = 300


/*
常量:
OC: const int num = 10;
Swift: let num = 10


错误:
let num : Int
Swift中的常量必须在定义时初始化(OC可以不初始化), 否则会报错
常量的用途: 某些值以后不需要改变, 例如身份证
*/
let num4 = 10

0 0
原创粉丝点击