1.基础语法

86 阅读3分钟

变量

  • 不用编写main函数,Swift将全局范围内的首句可执行代码作为程序入口一句代码尾部可以省略分号(;)
  • 多句代码写到同一行时必须用分号(;)隔开
  • 用var定义变量,let定义常量,编译器能自动推断出变量\常量的类型
let a=10
let b=20
var c = a+ b
c += 30

常量

使用关键字 let 进行声明 注意两点:

  1. 只能赋值一次
  2. 他的值不要求在编译期间确定,但使用之前必须赋值一次

image.png

//变量名:类型

let a:Int

a = 10;

//下面的写法必须指明类型

let b;

// 下面一行会报错
b = 20;

//这种情况会自动推断类型

let c = 30;
var num = 10;
num += 20;
num += 30;

//在运行过程才确定的。很多编程语言要求必须在编译期间确定。swift没有这个要求。swift 没有这个要求,只要赋值一次就可以
let temp = num;
func getAge() -> Int {
    return 10;
}

//常量值不要求在编译期间确定
let age = getAge();
print(age);


let age1:Int
var height:Int
print(age1)
print(height)

标识符

标识符(比如常量名、变量名、函数名)几乎可以使用任何字符标识符
不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符

常见的数据类型

image.png

疑问:为什么Int 要归为结构体呢? 后面为了方便,并不会多占内存空间。

第一个可以定义一些方法,让基本数据类型可以调方法了。 Int.min; 获取Int类型的最小值。

字面量

image.png

上面有几点注意点:

  1. bool 类型,swift 使用true,false,而不适用 YES,NO
  2. 由于string类型和 character 都是用双引号表示的,如果你不在类型后面写:character,系统自动把他当做string类型
  3. 1.25e2代表 1.25 * 10 的2次方
  4. 整数和浮点数可以添加额外的0或者下划线方便阅读

类型转换

image.png

注意点

  • 所有的类型转化都发生在变量或者常量之间,而字面量是不需要类型转换的。
  • 转化的语法是 类型名(变量或者常量名)

元祖

image.png

注意点

  • 元祖最外层是括号,然后里面放上内容,取得时候可以直接用 名字.index index 表示数据的位置来取,可以看出元祖里面每个元素基本基本都可以放。
  • 上面的第二个例子代表将元祖重新映射成一个新的元祖,那么这个新的元祖就可以直接取了,有点类似es6里面的解构
  • 第三个例子是我只想取出元祖的第一项,后面的我不想要,后面的项可以用 _来代替
  • 第四个例子,由于我用 名字.index这种不够容易看我取的什么,这样可以给元祖的每一项起个名字,取得时候就可以使用 元祖.名称 方式去取。