Swift4.0学习之路第一讲

由于公司需要,我将从今天开始上车,学习Swift4.0编程语言开发。
第一讲主要文字与代码上传至GitHub

第一讲主要包括内容如下:

第一节Swift基础类型体系
Swift编程语言只包含4种类型即1:枚举(enum)2:结构体(struct)3:类(class)4:函数类型(functiontypes)
其中枚举和结构体属于值类型(ValueTypes),类和函数属于引用类型(referencetypes)
除此之外,还有一个队数据组织的容器--元组(tiple)
Swift是一门安全性语言。Swift编程语言可以给任何一个可选的(Optional)类型置空然而,java、OC、C++等,只能给指针或者引用类型的对象置空,而不能队值得对象置空

第二节变量对象

变量对象定义:在Swift中,我们通过关键字var声明一个对象称为变量对象,简称变量(variable)。

变量的使用:1.如果一个变量的对象是一个结构体或者是枚举(即类型变量),那么该对象的自身值允许改变,切其成员变量也能被修改。
2.如果一个变量的对象是一个类类型,那么该对象引用可以修改,且该对象的实例中的所有成员变量也能被修改。

var a = 10 //声明一个变量a初始值为10
a =100//a被修改
//声明一个简单的结构体
structS{
vars =0//声明一个成员变量s
}
varb =S()//b声明一个S结构体的变量
b.s=10//将b的成员变量s修改成10
b =S()//这里b又被赋给了一个新的S结构体变量

第三节常量对象

常量对象定义:在Swift中,我们通过关键字let声明的对象为常量对象,简称常量(constant)

常量对象的使用:
1.如果一个常量对象对的类型为一个枚举或结构体(即类型变量)类型,那么,该对象的值及其成员变量的值都不允许被修改。
2.如果一个常量对象的类型是一个类类型,那么该对象引用不能被改变,但是他所引用的对象实例中的成员变量允许被修改。

letleta =100//声明一个整数对象为一个常量
//下面这行代码会出错
// leta = 10
//声明一个简单的结构体
structLetS{
vars =10
}
letletB =LetS()
//下面这行代码会出错
//letB = LetS();
//下面这行代码会出错
//letB.s = 100
//定义一个简单的类
classc{
varc =0
}
letletC =c();
letC.c=10//这句代码是没有问题的这里对c所引用的对象的成员进行修改时允许的
//下面这行代码会出错
//letC = c();//如果一个常量对象的类型是一个类类型,那么该对象引用不能被改变。

另外,Swift中除了一般整数、浮点数、字符串、数组字典等结构体类型的字面量属于常量之外,结构体与枚举类型直接构造出的对象也属于常量,我们不能直接对由这些类型构造的对象实例做实例属性的修改

structMyObject{
vara =0, b =1
}
varobj =MyObject()
obj.a+= obj.b//这个语句没有问题,因为obj是一个变量
//下面这行代码会出错
//MyObject().a += 10//直接用结构体类型构造出的对象是不可修改的
//而对于类类型直接创建的对象实例则可对其实例属性进行修改
//eg:
classTest{
vara =0, b =1
}
Test().a+=Test().b

Swift中允许一个常量先被声明再被初始化,但是只能初始化一次。如果这个常量被初始化之后,再给其赋值,编译器就会报错。

letIntA :Int
letIntB =10, IntC =20
IntA = IntB + IntC//这里为IntA初始化,没有问题
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,890评论 1 10
  • 常量与变量使用let来声明常量,使用var来声明变量。声明的同时赋值的话,编译器会自动推断类型。值永远不会被隐式转...
    莫_名阅读 466评论 0 1
  • Swift属性 Swift属性将值跟特定的类,结构体,枚举关联。分为存储属性和计算属性,通常用于特定类型的实例。属...
    小小厨师阅读 870评论 0 0
  • 一直没有时间好好看一下swift,最近复习了一遍语法,这里记录swift学习过程中遇到的一些问题和要点,和Obje...
    bomo阅读 2,414评论 0 25
  • 我幻想过好多次和你见面的场景,不论是怎样的场景,见到你之后我是一定要牵着你的手的,但是我见到你之后却只是接过你递给...
    十七朵梅花阅读 876评论 0 2