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   // 表示100 0000.0001
        增加额外的零 0 和 额外的下划线 _ ,并不影响数值
 
        5、类型转换、类型别名
       两个类型不同的数值,是不能直接进行运算的: 赋值时确定了数据类型
⚠️下面写法正确:let sum = 5 + 1.6     //  先做运算、在赋值,为 Double 类型
    类型别名: 可以用 typealias 关键字定义类型的别名(类似 C 中 typedef)

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

原类型名称能用在哪些地方,别名就能用在什么地方:let k = MyInt(d1) + age
 

转载于:https://www.cnblogs.com/Miracle-Huang/p/5789667.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值