swift笔记:数据类型补充,其他补充

整数


Int的长度为当前平台的原生字长相同,可以用Int.max,Int.min来取其最大值和最小值
64位的长度范围是: max : 9223372036854775807, min : -9223372036854775808
Int8长度范围:max : 127, min : -128
Int16长度范围max : 32767, min : -32768
Int32长度范围 max : 2147483647, min : -2147483648
Int64长度范围 max : 9223372036854775807, min : -9223372036854775808

UInt无符号整数,长度业余当前平台原生字节长相同
64位长度范围是: max : 18446744073709551615, min : 0
UInt8长度范围:max : 255, min : 0
UInt16长度范围max : 65535, min : 0
UInt32长度范围 max : 4294967295, min : 0
UInt64长度范围 max : 18446744073709551615, min : 0

浮点数


Float是32位的浮点数,小数点后6位,也可以写作Float32.
Double是64位的浮点数,小数后15位,写可以写作Float64.

进制


十进制:无前缀.
二进制:0b.
八进制:0o
十六进制:0x

布尔值


类型: Bool, true为真, false为假

字符Character


只有指定声明的变量与常量才会可以指定为 Character型,而类型推测会一直是 StringNSString

String与NSString


SwiftString是一个值类型,是一个结构体,而NSString是一个类,创建出来的是一个对象,有本质的不同.

计算字符的数量


字符串.characters.count得到的是Unicode的数量

转义字符


转义字符用\字符来表示特定的含义,如\n是换行.

\n换行
\0空字符
\\斜线
\' 单引号
\" 双引号
\r回车符
\t水平制表符
\xnn 单字节Unicode 二位十六进制数
\unnnn 双字节Unicode 四位十六进制数
\Unnnnnnnn 四字节Unicode 八位十六进制数

元祖


元祖(tuples)简单来讲就是把多个值放到一个集合中组成复合值,这个集合里可以有多种类型

// 三种写法之一
let dog = ("小白",18);
// 三种写法之二
let (dogName,dogAge) = ("大黄",2)
// 三种写法之三
let dog2 = (name:"旺财",age:3)
//打印
print(dog)
print("\(dogName)年龄\(dogAge)")
print("\(dog2.name)年龄\(dog2.age)")

类型转换


类型转换 由构造器来控制如 :

   extension Int64 {
    public init(_ v: UInt8)
    public init(_ v: Int8)
    public init(_ v: UInt16)
    public init(_ v: Int16)
    public init(_ v: UInt32)
    public init(_ v: Int32)
    public init(_ v: UInt64)
    public init(_ v: UInt)
    public init(_ v: Int)
    /// Construct a `Int64` having the same memory representation as
    /// the `UInt64` `bitPattern`.  No range or overflow checking
    /// occurs, and the resulting `Int64` may not have the same numeric
    /// value as `bitPattern`--it is only guaranteed to use the same
    /// pattern of bits.
    public init(bitPattern: UInt64)
}

使用:Int64( 转换的变量或者常量 )

类型别名:


typealias关键字来定义别名,列子:

typealias Myview = UIView;

可选(optionals):


? 表示是一个可选值 let name: String ?!表示明确知道这个值不是一个空值name!,请再使用!之前确定有值不然会程序会出错.

断言


assert关键字,这个关键字可以在调试的时候指定符合条件的情况下中断程序的执行,并且可以用assert(条件表达式,调试语句)的形式来执行Log信息

"_"符号


如果你声明的变量值没有在程序中使用往往Xcode会提示你的变量名称变为_省略的意思,在元祖中也可以let (dogName,_) = ("大黄",2)来省略不需要的值.

"hashValue"


可以得到对应的hash值,用法3.hashValue在swift中大部分对象,结构体枚举值,都可以点出hashValue甚至可以view.hashValue.

"is"


左边 is 右边 : 左边是否是右边的实例对象或者是右边子类的实例对象.返回的是一个BOOL值

运算符


赋值运算符

= 区别于oc的是 if var obj = 3 在oc中可以 oc不是0就是真 不是nil 也是真但是swift不行if后必须是一个条件表达式

数值运算符

+,-,*,/,%基本和OC一样但是%这个运算符可以计算小数

一元正负运算符

一元运算符的正负号+ , -代表正数 负数.

自增自减运算符,复合运算符

自增自减运算符++,-- 复合运算符 +=,-=

注: +=不止可以用于数值,也可以用于拼接字符串和添加数组元素

比较运算符

==,!=,>,<,>=,<= 为比较运算符,与OC基本一致
另外加入的是 === ,!== 来判断2个指针变量是否引用一个内存地址.

三元运算符

格式: 条件表达式 ? 条件1 : 条件2 , 例子a > b ? a:b;

逻辑运算符

!, &&,||,逻辑运算符也与OC基本一致

区间运算符

... 区间运算符,包含了在左右2端所有的数, 如3...5 那么就包含 3,4,5 3个数字.
.. 半区间,相比全区间只少了最后1个数字如上面例子3..5只包含了3,42个数字.

位运算符

~ 按位取反运算符
&按位与运算符
|按位或运算符
^按位异或运算符
<< >> 左移右移运算符

溢出运算符

&+ &- &* &/ &% 在值的取值范围超出后做溢出处理

运算符函数

关键字 func + (形参: 形参类型, 形参,形参类型 )->返回值类型

字符型表达式

__FUNCTION__打印出所在的函数名 String
__FILE__ 打印出在哪个文件中 String
__LINE__ 打印出所在的行数 Int
__COLUMN__打印出所在的列数 Int

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,757评论 1 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 今天在看知乎的时候,看到一对喜欢出游时录制旅行视频的情侣。俩人背着十斤的包,拖着三脚架每天几个小时游走,只是为了最...
    月月大王阅读 1,512评论 6 7
  • 关于作者 查尔斯·曼恩是《大西洋月刊》《科学》和《连线》等知名刊物的撰稿人,曾三次进入美国国家杂志奖决赛的作者,被...
    龙少侠linux阅读 1,385评论 0 0
  • 熟人G君自大学毕业后就一直眼高于顶,对工作挑三拣四,几年间换工作比换内裤还勤快,却终究一事难成。 一日,G君在外...
    铁瓮城主阅读 237评论 13 0