swift4.0 的let与var学习(一)

2017-12-04  本文已影响0人  _WYF_

前言

swift作为一门新语言,对于熟悉Object-C编程的ios开发者来说还是挺容易上手的,但其在语法和编程习惯上改变了很多。本篇以及后续的swift文章都是基于有Object-C的学习,代码为主,文字配合讲解,对你们是一种学习,对我而言同样。

swift初学 - 简单值之 let 常量与 var 变量

oc中常用的可变与不可变,在swift中进行了整合,

特别注意!let 和 var 的使用规则

使用 let 声明常量-------------

let a = 10 <系统自动检测,Int 类型>
let b:Int = 10 <Int类型>
let c:Float = 10.0 <Float类型>
let d:Double = 10.0<Double类型>

Int、Float与Double相加,必须转成相同的数据类型
let e:Int =  b + a
let e:Float = c + Float(a)
let e:Double = d + Double(a)

let a = "a"<系统自动检测,无@符号,string 类型>
let a:String = "a"<String类型>

字符串与Int、Float与Double类型相加
let i = 10, d = 10.0, f = 10.0
let s = "10"
let stringAddInt:String = s + String(i)                   //"1010"   字符串拼接
let IntAddString:Int = i +(s as NSString).integerValue    //20       转成oc的字符串,再转成数据类型,最后相加   
float、double同理

* 理解swift"+"的作用!与oc中"+"的区分!!!

let array = ["1","2"]

let 声明的array 与 oc 中的NSArray 的意义是相同的!!

let dictionary = ["key1" : "value1" , "key2" : "value2"]

let 声明的 dictionary 与 oc 中的 NSDictionary 的意义是相同的!!

Array 和 Dictionary 在swift中,都是使用"[  ]"中括号声明,其中的区别请研究上述两个声明方式。

使用 var 声明变量-------------

var a = 10 <未特殊说明,与 let 常量声明规则相同>
var b:Int = 10
var c:Float = 10.0
var d:Double = 10.0

使用var声明 a、b、c、d,可以被重复赋值!!!

a += b  //a = 20 
b = 20  
c = 20.0
d = 20.0

创建一个空字符串

var string = ""
string = "test1" <正确>
string = "test2" <正确>

使用var声明 string,可以被重复赋值!!!


var array = ["111","222"]

创建一个空数组
var array = [Int] ()   //中括号为元素类型
var array = [String] ()
var array =  [any] () //any表示任意类型

var 声明的 Array 与 oc 中的NSMutableArray 的意义是相同的!!!


var dictionary = ["key1" : "value1" , "key2" : "value2"]

创建一个空字典
var emptyDictionary = Dictionary<key,  value>
var emptyDictionary = Dictionary<key, String>
var emptyDictionary = Dictionary<key, Array>
var emptyDictionary = Dictionary<key, Dictionary>
可以使用 emptyDictionary 加入元素,以及处理元素

var 声明的 dictionary 与 oc 中的NSMutableDictionary 的意义是相同的!!!

总结

swift中的 let 与 var 声明对象统一了原本oc中的NS和NSMutable部分类。  
发现有一些微妙的变化,细节描述不清,待日后完善。
上一篇下一篇

猜你喜欢

热点阅读