Swift(三.函数)
一.swift中的函数分为以下几类吧
1>无参无返 2>无参有返 3>有参无返 4>有参有返 5>有参多返
二.看下面几个例子吧
1>无参无返
func about() ->Void{}
也可以写成func about() ->() {}
还可以写成func about() {}
2>无参有返
func readM() ->String{ return "字符串" }
3>有参无返
func eat(food : String) {}
4>有参有返
func sum(num1 : Int, num2 : Int) ->Int{return num1 + num2}
5>有参多返
func eat(food1 : String,food2: String) ->(String,String){
var first = "水"
var second = "牛奶"
if food1.characters.count > 0{
first = food1
}
if food2.characters.count > 0{
second = food2
}
return(first,second)
}
三.函数的使用注意
1>内参和外参,顾名思义,函数外面的就是外参,函数内部的就是内参.默认从第二个参数开始,又是内参又是外参,如果第一个参数也想成为外参,在变量名前面加一个标签就行,如果不想要外参,在参数前面加_+空格(还要加个空格)
2>默认参数,如果没有传入具体的参数,可以使用默认参数
3>可变参数,swift函数参数是可以变化的话,后面可以加... 但是要同一类型
4>默认情况下,参数是值传递,如果要改名外面的变量,那么要传该变量的地址,加个关键字 inout
5>函数可以嵌套,当有些常量或变量(比如地图里面需要获取2个地方的地标,但是在2个函数里面的话就不能把这2个地标直接进行渲染选择路线),过了该函数就释放了,但是同时需要2个函数的常量或变量值,那么可以嵌套函数来使用,在嵌套的函数里面可以同时获取2个常量或变量的值了
6>函数的类型,每个函数都可以有自己的类型,可以是基本数据类型,也可以是自定义的类型等,类型有参数和返回值类型组成.函数还可以作为方法参数或者返回值使用,总之在swift里面,函数的使用是非常灵活.具体怎么使用就需要经验的多多积累了.
Swift(三.函数)的更多相关文章
- Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
- Swift系列三 - 函数
函数在任何语言中都是存在的,Swift中函数更加灵活. 一.函数的定义 1.1. 有返回值(形参默认是let,也只能是let) func pi() -> Double { return 3.14 ...
- Swift 语言函数
import Foundation // 函数声明于实现 func sayHello(name){ print("Hello \(name)") } // 函数调用 sayHell ...
- swift 之 函数
swift的函数跟脚本语言有很多神似之处. 如果有一天用swift开发服务器 ,很期待哇(一切皆有可能,毕竟人家说要跑在Linux上),
- Swift 中函数使用指南
关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...
- Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器
Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器 一丶关键字:global,nonlocal global 声明全局变量: 1. 可以在局部作用域声明一 ...
- 窥探Swift之函数与闭包的应用实例
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实 ...
- 窥探 Swift 之 函数与闭包的应用实例
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候 都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小 ...
- Swift学习——A Swift Tour 函数
Functions and Closures 函数和封闭性(闭包) Functions 函数的使用 Swift中的函数定义和OC中有明显的差别了,使用func定义函数,在括号里定义參数和类型,用 ...
随机推荐
- Linux环境进程间通信
http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html http://bbs.chinaunix.net/forum.ph ...
- android88 录音机
package com.itheima.recorder; import android.os.Bundle; import android.app.Activity; import android. ...
- mysql 5.6 oom 图
- JSP 笔记
<%@ page contentType="text/html;charset=UTF-8"%> <!-- 字符编码为utf-8,不然会乱码.... --> ...
- 转:Oracle EBS订单的流程(Order->AR)
目录(?)[-] 基本流程 创建订单 Pick Release Pick Confirm Ship Confirm Deliveries Interface Trip Stop - SRS Workf ...
- (转)常用CSS优化总结——网络性能与语法性能建议
原文地址:http://www.cnblogs.com/dolphinX/p/3508657.html 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时 ...
- C#微信公众号开发 -- (一)开发之前的准备
本系列文章讲述的是利用C#语言开发微信公众号的实例教程,主要是服务号的开发(因为订阅号不能获取微信开发的高级接口) 想要开发微信服务公众号,首先必须要有一个认证的微信服务号,这样才能够使用微信提供的所 ...
- 学习笔记_过滤器应用_1(分ip统计网站的访问次数)
分ip统计网站的访问次数 ip count 192.168.1.111 2 192.168.1.112 59 统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做 ...
- 数据库hang住 处理过程
当数据库出现严重的性能问题或者hang了的时候,我们非常需要通过systemstate dump来知道进程在做什么,在等待什么,谁是资源的持有者,谁阻塞了别人.在出现上述问题时,及时收集systems ...
- 如何恢复oracle中已删除的表
在9i中Oracle引入了flashback的概念,可以将数据返回到某个时间点,但对于诸如drop/truncate等DDL语句却尚不支持.进入Oracle10g,这一缺陷得到了弥补.可以将丢失掉的表 ...