一.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(三.函数)的更多相关文章

  1. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

  2. Swift系列三 - 函数

    函数在任何语言中都是存在的,Swift中函数更加灵活. 一.函数的定义 1.1. 有返回值(形参默认是let,也只能是let) func pi() -> Double { return 3.14 ...

  3. Swift 语言函数

    import Foundation // 函数声明于实现 func sayHello(name){ print("Hello \(name)") } // 函数调用 sayHell ...

  4. swift 之 函数

    swift的函数跟脚本语言有很多神似之处. 如果有一天用swift开发服务器 ,很期待哇(一切皆有可能,毕竟人家说要跑在Linux上),

  5. Swift 中函数使用指南

    关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...

  6. Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器

    Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器 一丶关键字:global,nonlocal global 声明全局变量: ​ 1. 可以在局部作用域声明一 ...

  7. 窥探Swift之函数与闭包的应用实例

    今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实 ...

  8. 窥探 Swift 之 函数与闭包的应用实例

    今天的博客算是比较基础的,还是那句话,基础这东西在什么时候 都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小 ...

  9. Swift学习——A Swift Tour 函数

    Functions and Closures  函数和封闭性(闭包) Functions  函数的使用 Swift中的函数定义和OC中有明显的差别了,使用func定义函数,在括号里定义參数和类型,用 ...

随机推荐

  1. android95 缩放加载大图片

    MainActivity: package com.itheima.loadimage; import android.os.Bundle; import android.app.Activity; ...

  2. java中最简单的方式新起一个线程

    启动一个线程在一个方法中启动一个线程,有两种方法第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法)第二种是,现在方法中new一个线程,然后直接调用他的 ...

  3. 详解QUiLoader 动态加载.ui文件

    http://blog.chinaunix.net/uid-13838881-id-3652523.html 1.适用情况: 动态加载UI文件是指,用 Qt Designer 通过拖拽的方式生产.ui ...

  4. ant来历

    看看<ant权威指南>或者ant的网站吧,里面介绍得非常详细ant的来历,目的.ant是tomcat的一个副产品,是在开发tomcat过程中,开发人员需要一个整合编译工具,因为在一个大项目 ...

  5. [置顶] html学习笔记,锚点,超链接,table布局,表头,h,sub,blockquote,ul,li,ol.dl,加入收藏,打印,弹出窗口

    <a name="shouye"></a> <strong>strong加粗</strong> <br> 没有加粗 &l ...

  6. maven项目在tomcat中运行遇到的问题

    在使用maven构建项目,并在tomcat容器中运行的时候遇到了一些问题,现做一下记录 maven项目中jdk版本会自动恢复 maven项目的编译jdk即使在window -> java -&g ...

  7. linux下grep命令笔记

    grep    -i 不区分大小写    --color 添加颜色        alias grep=‘grep --color=auto’    -v 显示没有被模式匹配到的行    -o 只显示 ...

  8. angular下H5上传图片(可多张上传)

    最近做的项目中用到了angular下上传图片功能,在做的过程中遇到了许多问题,最终都得以解决 angular上传时和普通上传时过程差不多,只不过是要不一些东西转化为angular的东西. 1.ng-f ...

  9. R-大数据分析挖掘(4-R爬虫实现)

     library("XML") #获取全部的链接 url <- 'http://www.csdn.net/tag/' i_url_parse<-htmlParse(ur ...

  10. eclipse上传显示svn上传者名

    这里来记录下eclipse上传显示svn上传者名. 如图所示,修改即可.