Swift学习笔记3

目录

一、Swift函数

1.函数定义

(1)用关键字func定义函数

(2)语法

2.函数调用

3.函数参数

(1)局部参数名

(2)外部参数名

(3)可变参数

4.常量/变量及I/O参数

5. 函数类型及使用

6.函数嵌套

二、结构体

1.功能

2.语法

 3.应用

三、类

1.与结构体的区别

2.语法

 3.作为引用类型访问类属性

 4.恒等运算符

 四、Swift UI

1.自定义文本视图

2.使用堆栈组合视图


一、Swift函数

1.函数定义

(1)用关键字func定义函数
  •   定义函数的时候,可以指定一个或多个输入参数和一个返回值类型
  • 函数的参数传递的顺序必须与参数列表相同
  • 函数的实参传递顺序必须与形参列表相同,->后定义函数的返回值类型      
(2)语法
func funcname -> returntype
{
    Statement1
    Statement2
    ...
    return parameters
}

funcname是形参  

例:该函数的形参数据类型为String

import Cocoa
func Specialist(site:String) -> String{
return(site)
}
print(Specialist(site:"nonono"))

2.函数调用

通过函数名以及对应类型的参数值来调用函数

3.函数参数

函数可以接受一个或者多个参数,这些参数被包含在函数的括号中,用逗号分隔

(1)局部参数名

局部参数名在函数的实现内部使用

(2)外部参数名

用于在函数调用时传递给函数的参数

(3)可变参数

函数调用时可以用可变参数来指定函数参数,其数量是不确定的

通过在变量类型后面加入(...)的方式来定义

4.常量/变量及I/O参数

  • 一般默认在函数中定义的参数都是常量参数,不能改变
  • 如果想要声明一个变量参数,可在参数定义前加inout关键字
  • 当传入的参数作为输入输出参数时,需要在参数名前加&符,表示这个值可以被函数修改

5. 函数类型及使用

(1)使用函数类型就像使用其他类型一样

(2)函数类型作为参数类型

        函数类型作为返回类型

import Cocoa

func sum(a: Int, b: Int) -> Int {
    return a + b
}
var addition: (Int, Int) -> Int = sum
print("输出结果: \(addition(40, 89))")

func another(addition: (Int, Int) -> Int, a: Int, b: Int) {
    print("输出结果: \(addition(a, b))")
}
another(addition: sum, a: 10, b: 20)
输出结果: 129
输出结果: 30

6.函数嵌套

函数内定义一个新函数,外部的函数可以调用函数内定义的函数

如:

二、结构体

1.功能

为结构体定义属性(变量,常量)和添加方法,从而扩展结构体的功能

2.语法

 3.应用

结构体实例总是通过值传递来定义自定义数据类型。

按照通用的准则,当符合一条或多条以下条件时,考虑构建结构体:

  • 结构体的主要目的是用来封装少量相关简单数据值。
  • 有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用。
  • 任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用。
  • 结构体不需要去继承另一个已存在类型的属性或者行为。

三、类

1.与结构体的区别

  • 继承允许一个类继承另一个类的特征
  • 类型转换允许在运行时检查和解释一个类实例的类型
  • 解构器允许一个类实例释放任何其所被分配的资源
  • 引用计数允许对一个类的多次引用

2.语法

class classname {
   Definition 1
   Definition 2
   ……
   Definition N
}

 3.作为引用类型访问类属性

格式为:实例化类名.属性名:

 4.恒等运算符

 四、Swift UI

1.自定义文本视图

通过更改Text中的内容来表示出我们像表达的内容

通过.加专用名词改变文字效果

2.使用堆栈组合视图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值