iOS巅峰之Swift函数的详细用法(中)
来源:互联网 发布:网龙网络 编辑:程序博客网 时间:2024/05/16 11:38
// 函数
// 语法格式
// func name (参数列表) -> 返回值 {
// 函数实现体
// }
// 无参数, 无返回值
func hello1() {
print("hello1")
}
func hello2() -> Void {
print("hello2")
}
// 函数调用
hello1()
// 有参
// 关于内部参数名
// 只在函数作用域内部使用的参数名
func hello3Name (name: String, age:String) {
print("你好\(name) and \(age)")
}
// 除了第一个参数, 后面的参数在调用时会自动生成一个与内部参数名相同的外部参数名
// 原则上, 第一个参数的外部参数名应该写在函数名的末尾
hello3Name("李云飞", age: "111")
func hello4Name (mingzi name1:String, mingzi2 name2:String) {
print("你好\(name1) and \(name2)")
}
// 外部参数名的添加规则, 在内部参数名前面声明中间用空格隔开
hello4Name(mingzi: "李云飞", mingzi2: "gg")
// 使用占位符 _ 省略掉自动生成的外部参数名
func hello5 (name:String,_ name2:String) {
print("你好\(name) and \(name2)")
}
hello5("李云飞", "辉哥")
// 可以为参数赋初始值, 调用时传参则更改, 不传参使用初始值
func hello6 (name: String = "李云飞", name2: String = "辉哥") {
print("你好\(name) and \(name2)")
}
hello6()
// 不写外部参数名, 默认的是第一个, 如果想更改第二个,必须把第二个外部参数名写上
hello6("仝兴为")
// 有返回值情况
// 返回值后面 直接给类型
func byebye1() -> String {
return "byebye"
}
byebye1()
func student(str:String) -> (Int, Int) {
var number = 0
var number1 = 0
for tempstr in str.characters {
switch tempstr {
case "a", "e", "i", "o", "u":
print(number)
number++
default:
print(number1)
number1++
}
}
return(number, number1)
}
student("fdsaaadfsdfsfsafas")
// 不确定参数个数, 参数个数可变
func count2 (numbers:Int...) ->Int {
var sum = 0
// 不确定个数的参数, 作为数组使用
for num in numbers {
sum += num
}
return sum
}
count2(1, 2, 3, 4, 5, 6)
// 参数在函数体内, 默认是不可变的(想要让其可变, 必须用var修饰)
func count3 (var a:Int, b:Int) ->Int{
a++
return a
}
var c = 10
count3(c , b: 0)
// inout 修饰参数, 将外部变量的地址传进来, 从而改变外部变量的值
func changeValue (inout a:Int) {
a++
}
changeValue(&c)
// 语法格式
// func name (参数列表) -> 返回值 {
// 函数实现体
// }
// 无参数, 无返回值
func hello1() {
print("hello1")
}
func hello2() -> Void {
print("hello2")
}
// 函数调用
hello1()
// 有参
// 关于内部参数名
// 只在函数作用域内部使用的参数名
func hello3Name (name: String, age:String) {
print("你好\(name) and \(age)")
}
// 除了第一个参数, 后面的参数在调用时会自动生成一个与内部参数名相同的外部参数名
// 原则上, 第一个参数的外部参数名应该写在函数名的末尾
hello3Name("李云飞", age: "111")
func hello4Name (mingzi name1:String, mingzi2 name2:String) {
print("你好\(name1) and \(name2)")
}
// 外部参数名的添加规则, 在内部参数名前面声明中间用空格隔开
hello4Name(mingzi: "李云飞", mingzi2: "gg")
// 使用占位符 _ 省略掉自动生成的外部参数名
func hello5 (name:String,_ name2:String) {
print("你好\(name) and \(name2)")
}
hello5("李云飞", "辉哥")
// 可以为参数赋初始值, 调用时传参则更改, 不传参使用初始值
func hello6 (name: String = "李云飞", name2: String = "辉哥") {
print("你好\(name) and \(name2)")
}
hello6()
// 不写外部参数名, 默认的是第一个, 如果想更改第二个,必须把第二个外部参数名写上
hello6("仝兴为")
// 有返回值情况
// 返回值后面 直接给类型
func byebye1() -> String {
return "byebye"
}
byebye1()
func student(str:String) -> (Int, Int) {
var number = 0
var number1 = 0
for tempstr in str.characters {
switch tempstr {
case "a", "e", "i", "o", "u":
print(number)
number++
default:
print(number1)
number1++
}
}
return(number, number1)
}
student("fdsaaadfsdfsfsafas")
// 不确定参数个数, 参数个数可变
func count2 (numbers:Int...) ->Int {
var sum = 0
// 不确定个数的参数, 作为数组使用
for num in numbers {
sum += num
}
return sum
}
count2(1, 2, 3, 4, 5, 6)
// 参数在函数体内, 默认是不可变的(想要让其可变, 必须用var修饰)
func count3 (var a:Int, b:Int) ->Int{
a++
return a
}
var c = 10
count3(c , b: 0)
// inout 修饰参数, 将外部变量的地址传进来, 从而改变外部变量的值
func changeValue (inout a:Int) {
a++
}
changeValue(&c)
0 0
- iOS巅峰之Swift函数的详细用法(中)
- iOS巅峰之Swift 函数, 闭包详解(下)
- iOS巅峰之CocoaPods安装及使用的详细步骤
- iOS巅峰之Swift笔记详解(上)
- Swift 中函数的用法
- iOS巅峰之while与do...while详细区别
- iOS巅峰之摇一摇功能的实现
- iOS巅峰之NSRunLoop
- iOS巅峰之判断输入的字符串中是否包含表情图片
- Swift 2.0中打印函数的用法
- ios巅峰之SQ数据库
- IOS巅峰之UICollectionView详解
- iOS巅峰之SBJSON解析
- iOS巅峰之跑马灯
- iOS巅峰之label描边
- iOS巅峰之Swift结构体和类, 枚举, 构造器, 继承, 协议, 扩展(完结篇)
- iOS之巅峰 imageView 和 Label的点击事件
- iOS巅峰之UIScrollView滑动的左右上下位置控制
- Unity人工智能学习—高级随机运动
- Java 引用,栈 堆 的理解
- Java计算n-m之间质数/素数,打印出全部素数、总和以及个数
- java工具目录
- 适配器设计模式
- iOS巅峰之Swift函数的详细用法(中)
- LeetCode 27: Remove Element
- Android基础入门教程——8.3.4 Paint API之—— Xfermode与PorterDuff详解(一)
- ios深度解析之Swift(基本数据类型)
- HVM的缓存与内存控制
- Handler的原理-----源码剖析
- 下载ABIDE,GITHUB
- c++ primer第五版(中文)习题答案 第一章-开始
- Cocos2d-JS中的常见元素