Swift函数
函数
函数
介绍
// func
// 在Swift中,一个个的方法就是函数
// 1.定义函数的关键字是func
// 在定义函数的时候,不管有没有参数都加括号,参数写在括号中
// 在定义函数时,当没有返回值的时候,也可以写成如下格式,当有返回值的时候在->后面加上返回值的类型
1.1 没有参数没有返回值
func printString()->() {
println("hello world")
}
// 函数调用
printString()
1.2 有返回值没有参数
func retrunHello()->String {
return ""
}
println(retrunHello())
1.3 没有返回值有参数
func personHello(str:String) {
println("hello, \(str)")
}
personHello("xiaoming")
1.4 有返回值有参数
func returnPerson(str:String)->String {
return str + " hello"
}
println(returnPerson("hhahahhh"))
1.5 有多个参数
Swift中函数之所以能够返回多个值,是因为Swift中函数可以跟元组结合使用
func moreValue(str:String, str2:String)->(String, String) {
var minValue = str.lowercaseString
var maxValue = str2.uppercaseString
return (minValue, maxValue)
} println(moreValue("ABC", "def"))
// 当我们没有添加var关键字的时候,参数默认的类型为let类型,要想在函数中改变参数的值,是不可以的,要想改变的话,用var修饰 func
func changeValueInFunc(var number:Int) {
number++
println(number)
}
changeValueInFunc()
// 当我们真的想通过调用函数修改参数的值,要在函数形参前面加上inout关键字,然后调用的时候,在实参的前面加上取地址符,两个配套使用,缺一不可
func swapTwoNumber(inout number1:Int,inout number2:Int) {
var temp =
temp = number1
number1 = number2
number2 = temp
} var a = , b =
swapTwoNumber(&a, &b)
println("a = \(a), b = \(b)")
// 函数定义外部参数名字
// 定义函数外部参数名字,对函数的功能没有任何影响,只是方便在调用的时候告诉填入参数的作用是什么
func printName(personName str:String) {
println(str)
}
printName(personName: "xiaoming")
// 外部参数名字的简单写法
// 通过#的使用直接使我们函数的参数名作为外部变量的名字
func printPersonName(#personName:String) {
println(personName)
}
printPersonName(personName: "houzhichao")
函数的类型
下面函数的类型为(Int)->Int func funcType(number:Int)->Int { return number }
函数类型的验证
func funcType(number:Int)->Int {
return number
}
Swift函数的更多相关文章
- Swift函数编程之Map、Filter、Reduce
在Swift语言中使用Map.Filter.Reduce对Array.Dictionary等集合类型(collection type)进行操作可能对一部分人来说还不是那么的习惯.对于没有接触过函数式编 ...
- 如何在C语言中调用Swift函数
在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中 ...
- Swift 函数
1: 函数形式: Swift函数以关键字func 标示.返回类型->后写明.如果没有返回类型可以省去.多个参数用,分割.其中参数名字在前:类型描述 func GetName(strName:St ...
- swift函数的用法,及其嵌套实例
import Foundation //swift函数的使用 func sayHello(name userName:String ,age:Int)->String{ return " ...
- 4 .Swift函数|闭包
在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Sw ...
- Swift函数|闭包
在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Sw ...
- Swift函数的定义建议
/* Swift中函数命名的智慧 */ // 1.一般情况下, 我们写一个函数是这么写的 func sayHello(name: String , greeting: String) { print( ...
- Swift 函数和类
函数: func sayHello(personName:String,z:Int)->{ return "hello"+personName+z } print(sayHe ...
- Swift函数柯里化(Currying)简谈
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面简单说说Swift语言中的函数柯里化.简单的说就是把接收多 ...
随机推荐
- [OC][转]UITableView属性及方法大全
Tip: UITableView属性及方法大全 (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 1 ...
- 扩展卡尔曼滤波(MRPT)
EKF relies on a linearisation of the evolution and observation functions which are good approximatio ...
- hdu 5506 GT and set dfs+bitset优化
GT and set Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Probl ...
- 插件dTree的使用
解压缩dtree.zip 包. dtree目录下包括这些文件:example01.html . dtree.js . api.html . dtree.css 和img目录 注意:除了a ...
- zookeeper 故障重连机制
一.连接多个服务器,用逗号隔开 如果在连接时候zk服务器宕机 To create a client session the application code must provide a connec ...
- SQL Server 2012 联机丛书安装
已连接 Internet 的计算机: 单击"管理帮助设置"启动帮助库管理器. 在 Windows 7 中,依次选择"开始"."所有程序".& ...
- struts 标签的使用<转>
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
- centos6.5安装lnmp环境
1.安装nignx的源,默认cenots6没有的. rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-cent ...
- SPSS数据分析—判别分析
判别分析作为一种多元分析技术应用相当广泛,和其他多元分析技术不同,判别分析并没有将降维作为主要任务,而是通过建立判别函数来概括各维度之间的差异,并且根据这个判别函数,将新加入的未知类别的样本进行归类, ...
- Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS
Windows下虚拟机安装Mac OS X —– VMware Workstation12安装Mac OS X 10.11 本文即将介绍WIN虚拟MAC的教程.完整详细教程(包含安装中的一些问题) [ ...