Swift初识

一、语法特点:借鉴了OC、C#、JavaScript、Rython等语言特点
同时具备编译型语言高性能脚本语言灵活性。代码简洁,可以轻松与OC、C混合使用(相互调用)
       开发条件:Xcode >= 6.0、OS X > 10.9.3
 
 二、语法须知:源文件拓展名:.swift
       1、不需要编写main函数:从上往下顺序执行,最前面的代码会自动当作程序的入口
       2、不需要在每一条语句后面加上分号:也可以加分号
有一种情况必须加分号:同一行代码上有多条语句时
        注释:多行注释可以嵌套注释
用 let 声明常量:let radius = 1.2
用 var 声明变量:var x = 1.1,,y = 2.1, z = 3.2
      Swift程序

        var btn = UIButton()

        btn.frame = CGRectMake(20, 20, 100, 80)

        btn.backgroundColor = UIColor.blueColor()

        self.view.addSubview(btn)

        var imageView = UIImageView(image: UIImage(named: "2x"))

        imageView.frame = CGRectMake(20, 100, 100, 100)

        self.view.addSubview(imageView)

 
      Playground的使用

import UIKit

//var str = "Hello, playground"

//var num = 12

//num++

//num += 11 + 12 * 3

 var btn = UIButton()

btn.frame = CGRectMake(0, 0, 100, 100)

btn.backgroundColor = UIColor.redColor()

btn.layer.cornerRadius = 10

btn

测试用,逐行显示
 
      字符串的简单操作

var str = "a b c"

var str2 = " d e f"

var string = str + str2   //  拼接字符串

var age = 18;   var num = 1024

var name = "lily"

var lily = name + " is \(age) years old, and no " + String(num)

print(lily)

 
       命名:基本上可以用任何喜欢字符作为常量或变量的命名
Mac上通过用control+command+空格 :弹出emoji键盘= 👀、🐶
⚠️不能包含:数字符号(+—*/)、箭头()、非法无效的Unicode字符(⚽️)、关键字、数字开头、单独下划线、、、
 
三、数据类型
       常见数据类型:Int、Float、Double、Bool、Character、String、Array、Dictionary、Tuple(元组类型)、Optional(可选类型)首字母大写
       指定常量/变量的数据类型:在常量/变量名后加冒号和类型名称

let age: Int = 18     // 定义了一个Int类型的常量age 

一般没必要指明类型,如果在声明时赋了初始值,Swift自动判断类型
 
       1、变量的初始化: Swift严格要求变量在使用之前必须进行初始化
swift并不会为变量赋初始值、否则会报错
 
       2、整数:  Swift强类型的语言(不同类型计算会报错)
Swift提供了8、16、32、64无符号/有符号整数:Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64
最值:可以通过 min 和 max 获取某个属性的最小值、最大值

       let minValue = Int8.min      //  -128

       let maxValue = Int8.max      //   127

Swift提供了特殊的 Int / UInt 长度和当前系统平台一样(64位)
      报错原因:两数据类型不同进行运算、超出数据类型的范围数字都会报错
存储范围:每种数据类型都有各自的存储范围、如果数值超过了存储范围,编译器会直接报错          //   UInt8 不能存储负数
        整数的4种表示形式: 10进制:无前缀           let me = 10  
                                           二进制:以0b 为前缀   let me = 0b1010
                    八进制:以0o 为前缀  let me = 0o12       
                    16进制:以0x 为前缀  let me = 0xA 
 
       3、浮点数两种类型Double(64位)精度至少15位小数、Float(32位)精度至少6位小数
浮点数默认是Double类型:let m : Float = 12.2 ; let n = 12.3

                          var mn = Double(m) + n

表示形式:浮点数可以是10进制/16进制两种来表示
       10进制:let d1 = 12.5

             let d2 = 0.125e2    //  MeN :M*10的N次方

       16进制:以0x为前缀,且一定要有指数

             let d3 = 0xC.8p0    //  0xMpN :0xM * 2的N次方

 
       4、数字格式:可以增加额外的零         // 001258.000
可以增加额外的下划线_,以增强可读性   let money = 1_000_000.000_1   // 表示1000000.0001
       增加额外的零 0 和 额外的下划线 _ ,并不影响数值
 
       5、类型转换、类型别名
       两个类型不同的数值,是不能直接进行运算的:赋值时确定了数据类型
⚠️下面写法正确:let sum = 5 + 1.6     //  先做运算、在赋值,为 Double 类型
    类型别名:可以用 typealias 关键字定义类型的别名(类似 C 中 typedef)

               typealias MyInt = Int    //  给 Int 取别名 MyInt

原类型名称能用在哪些地方,别名就能用在什么地方:let k = MyInt(d1) + age
 
posted @ 2016-08-20 09:40  Miracle_H  阅读(163)  评论(0编辑  收藏  举报