Swift--07函数使用
来源:互联网 发布:网络电玩游戏博客 编辑:程序博客网 时间:2024/06/06 07:41
print("Swift函数使用")
/*1、函数
使用func来声明一个函数,使用名字和参数来调用函数。使用 ->来指定函数返回值类型。
定义格式:func函数名(参数列表) ->返回值类型 {
函数体
}
调用格式:函数名(实参列表)
使用说明:无返回值时可以省略->及返回值类型,无参时()不能省略
*/
/* -> Void*/
func printHello() {
for _ in0 ..<5 {
print("hello world")
}
}
printHello()
/*
hello world
hello world
hello world
hello world
hello world
*/
//2、默认从第二个参数开始带标签
func sum1(_ a:Int, b:Int) ->Int {
return a + b
}
print(sum1(2, b:3))// 5
//3、使用'_'可以忽略外部调用标签
func sum2(_ a:Int,_ b:Int) ->Int {
return a + b
}
print(sum2(1,4))// 5
//4、可以添加不同的外部标签和内部参数
func sum3(num1 a: Int, num2 b:Int) ->Int {
return a + b
}
print(sum3(num1:2, num2:3)) // 5
//5、函数可以作为参数传递
func calc(_ a:Int, b:Int, c:(Int,Int)->Int) ->Int {
return c(a, b);
}
var ret = calc(100, b:200, c:sum1)
print(ret)//返回的是sum1函数计算的结果:300
//6、变参函数,参数会转换为数组形式
func averageValue(_ numbers:Double ...) ->Double {
var total:Double =0.0
for numberin numbers {
total += number
}
return total/Double(numbers.count)//除数取double类型,使结果也为double类型。
}
print(averageValue(1,2,3,4,5))// 3.0
//7、使用元组来让一个函数返回多个值。该元组的元素可以用名称或数字来表示。
var array = [1,2,3,4,5]
func getMostInArray(_ a:[Int]) -> (min:Int, max: Int) {
var maxV = a[0]
var minV = a[0]
for valuein a[1..<a.count] {//for in
if value > maxV {
maxV = value
} elseif value < minV {
minV = value
}
}
return (minV, maxV)
}
let minMax = getMostInArray(array)//调用函数,返回的是array中的最大值和最小值组成的元组。
print("min =\(minMax.min), max =\(minMax.max)")// min = 1, max = 5
//8、函数可以作为返回值返回
func getFunc() -> (Int)->Int {
func add(_ num:Int) -> Int {
return num+10
}
returnadd //作为返回值返回
}
var addFunc = getFunc()
print(addFunc(5)) // 15
print(addFunc(5)) // 15
print(addFunc(5)) // 15
//注:函数虽然可以作为返回值返回,但是一旦含参,每调用一次,就会在上次计算的基础上自动累加计算,
func getFunc(_ number:Int) -> ()->Int {
var total =0
func embedFunc() ->Int {
total += number
return total
}
returnembedFunc
}
var funcOne = getFunc(10)
var funcTwo = getFunc(100)
print(funcTwo()) //100
print(funcOne())//10
print(funcOne())//20
print(funcOne())//30
print(funcOne) //这样返回结果提醒为:(Function)
/*9、inout
1、函数参数默认是不可变的,可以添加var声明为变量
2、也可使用inout修饰,告诉编译器该参数可以被修改
3、函数内部想要改变传递的参数,调用时需要在参数前加'&'
*/
func mySwap( _ a:inoutInt, b:inoutInt) {
let c = a
a = b
b = c
}
var a = 2, b =3
print("a =\(a), b =\(b)") //a = 2, b = 3
mySwap(&a, b: &b) //实现了数值的交换
print("a =\(a), b =\(b)")// a = 3, b = 2
//10、参数默认值
func defaultValue(_ a:Int, b:Int =100) ->Int {
return a+b
}
print(defaultValue(10, b:20))//如果设置了数值,按照设置的值来:30
print(defaultValue(10)) //如果没有赋值,按照默认值来计算:110
//11、函数重载
func add(_ a:Int, b:Int) ->Int {
print("int")
return a+b
}
func add(_ a:Double, b:Double) ->Double {
print("double")
return a+b
}
//系统会根据传入的参数个数及类型决定调用哪个参数
print(add(2, b:3)) //调用整型处理函数:5
print(add(2.1, b:4.5))//调用小数处理函数:6.6
- Swift--07函数使用
- Swift函数的使用
- swift 函数使用注意事项
- Swift 函数的基本使用
- Swift 函数的各种使用
- Swift 函数,闭包使用
- Swift入门 07函数
- 【swift基础】07函数
- swift在 enum中使用函数
- swift中的函数的使用,嵌套
- 10、Swift语言中函数的使用
- 日期函数的使用(swift)
- swift(六)函数的简单使用
- Swift函数
- Swift函数
- swift 函数
- swift,函数
- [Swift]函数
- 有道理
- PHP __set(),__get(),__isset(),__unset()四个方法的应用
- 智能一代云平台(二十八):对前后端分离和FastDFS的使用的再理解
- Oracle 查看表空间的大小及使用情况sql语句
- 【开发笔记】常用工具设置指定jdk的方法总结
- Swift--07函数使用
- Android中图片加载框架Glide解析3----深入探究Glide的缓存机制
- github博客绑定个性域名
- 【51Nod】1182 完美字符串
- Android运行程序在各层架构之间的相互关系
- Spring Boot 整合 MyBatis
- 【WEB API项目实战干货系列】- WEB API入门(一)
- ACM一些坑 (1)
- 你觉得程序员适合干一辈子吗?