美文网首页
Swift--语法基础

Swift--语法基础

作者: 优雅的步伐 | 来源:发表于2019-07-22 00:25 被阅读0次
    • 标识符和关键字

    • 常量和变量

    • 注释

    • 表达式

    标识符和关键字

    标识符就是常量、变量、方法、函数、枚举、结构体、类、协议等由开发人员指定的名字。

    一、标识符的命名规则

    1. 区分大小写,Myname与myname是两个不同的标识符
    2. 首字符,可以是下划线(_)或者字母,但不能是数字
    3. 其他字符,可以是下划线(_)、 字母或数字

    字母:采用的是Unicode编码。Unicode叫做统一编码,它包含了亚洲文字编码,中文、日文、韩文等字符,甚至是我们在聊天工具中使用的表情符号,如😄😢😂等,这些符号事实上也是Unicode,而非图片。

    示例

    正确的合法的标识符如:identifier、userName、User_Name、_sys_val、身高

    不合法的标识符如:2mail、room# 和class

    二、关键字

    关键字是类似于标识符的保留字符序列,由语言本身定义好的,不能挪作他用。 如:class、func、 return...

    4种类常见的关键字
    1、与声明有关的关键字: class,deinit,enum,extension, func, import, init, inout, internal, operator, private, public, let , protocol, static, struct, subscript, typealias, var。

    2、与语句有关的关键字: break, case, continue, default, repeat, else, fallthrough, if, in , for, defer, guard, do, return, switch, where, while。

    3、表达式和类型关键字: as, catch, dynamicType, false, is, nil, rethrows, super, self, Self, throw, throws, true, try, COLUMN , FILE, FUNCTIONLINE

    4、在特定上下文中使用的关键字: associativity, convenience, dynamic, didSet, final, get, infix, lazy, left, none, nonmutating, optional, override, postfix, precedence, prefix, Protocol, required, right, set, Type, unowned, weak和willSet。

    常量和变量

    let a = "123456" //常量
    var a = "测试" //变量

    使用var还是let

    let和var关键字声明时,原则上优先使用let, 它有很多好处,可以防止程序运行过程中不必要的修改并提高程序的可读性。

    特别值得一提的是,引用数据类型声明时经常采用let声明,虽然业从务层面来讲并不需要一个常量, 但是使用let可以防止引用数据类型在程序运行过程中被错误地修改

    屏幕快照 2019-07-21 下午9.41.13.png

    解释:
    Person类有两个属性和一个构造函数,
    实例化一个Person对象得到p1, p1声明为let类型, p1实际上就是一个指针,let代表指针本身不能被修改, 但是指针内容可以被修改。p1.age = 20 即为修改了p1里面的age属性。

    如果试图修改指针本身,如p1 = Person(name: "Tom", age: 18), 把p1重新赋值,赋给另外一个对象,在这个过程中会发生编译错误,这就说明用let声明的这种引用数据类型,它的引用也就是指针不能被修改,但是引用也就是指针所指的内容可以被修改。

    注释

    注释分为单行注释和块注释

    单行注释


    image.png

    块注释:可以注释多行代码,可以嵌套其他的注释


    image.png

    表达式

    表达式有3种形式

    1、不指定数据类型
    var al = 10
    var a2 = 20
    var a = a1 > a2 ? "a1" : "a2"
    
    2、指定数据类型
    var a1: Int = 10
    let a2: Int = 20
    var a = a1 > a2 ? "a1" : "a2"
    
    3 、使用分号
    var a1: Int = 10; var a2: Int = 20
    var a = a1 > a2 ? "a1": "a2"
    

    注意:多条语句写在一行的情况下要使用分号来区分两条语句。

    相关文章

      网友评论

          本文标题:Swift--语法基础

          本文链接:https://www.haomeiwen.com/subject/tcpvlctx.html