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语言中的函数柯里化.简单的说就是把接收多 ...
随机推荐
- The communication of Linux Server and Localtion
当用Secure CRT远程登录服务器时,若建立本地与服务器间文件自由传输的机制,我们就可以实现远程办公.具体方法如下: 1. 确定远程服务器的IP.可以通过Secure CRT进行远程登录. 2.在 ...
- Openstack+Kubernetes+Docker微服务实践之路--Docker和Registry2
渐入佳境,我们开始比较具体的工作,由于Docker是一个基础组件,所以本文的主题是Docker和Registry2. 底层系统基于Centos7,先在一台云主机上安装Docker,Docker的安装非 ...
- 如何为数据源向导填加一种自定义的数据源类型(win示例)
https://www.devexpress.com/Support/Center/Example/Details/T310160
- 说说focus /focusin /focusout /blur 事件
事件触发时间 focus:当focusable元素获得焦点时,不支持冒泡:focusin:和focus一样,只是此事件支持冒泡:blur:当focusable元素失去焦点时,不支持冒泡:focusou ...
- AVSampleBufferDisplayLayer----转
http://blog.csdn.net/fernandowei/article/details/52179631 目前大多数iOS端的视频渲染都使用OpenGLES,但如果仅仅为了渲染而不做其他的例 ...
- BWT压缩算法(Burrows-Wheeler Transform)
参考: BWT (Burrows–Wheeler_transform)数据转换算法 压缩技术主要的工作方式就是找到重复的模式,进行紧密的编码. BWT(Burrows–Wheeler_transfor ...
- 【转】 C++的精髓——虚函数
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数! 纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数! 虚函数 引入原 ...
- linux rpm -ivh MySQL-server-5.5.31-2.el6.i686.rpm
linux rpm 安装mysql异常: [root@localhost upload]# rpm -ivh MySQL-server-5.5.31-2.el6.i686.rpmerror: Fail ...
- jQuery事件绑定on()、bind()与delegate() 方法详解
jquery中有四种事件绑定函数,bind(),live(),on(),delegate(),由于live现在并不常用,因此不做过多解释. 1. bind()用法 $("div p" ...
- neo4j中文社区
关于Neo4j中文社区 官网:http://neo4j.com.cn/ Neo4j 社区为国内具影响力的 Neo4j技术社区,致力于 Neo4j 的技术研究. Neo4j 社区由一批热爱 Neo4j ...