这一节,我们将会讨论一下Swift中的函数相关的基本内容

首先是函数的创建:

func sayHello (name:String) -> String {
return "Hello"+name
}

上述即是函数的创建方法:

func函数声明的关键字 
sayHello函数名
(name:String)参数列表
-> String函数的返回值
{
return "Hello"+name函数体
}

当函数没有返回值的时候可以这样写:

func sayHello (name:String) -> Void {

}
或者
func sayHello (name:String) -> () { }

需要注意的是Void 的V是大写的,因为Void是一个类型。

当有多个返回值的时候可以利用元组作为返回类型

func findMaxAndMin(numbers:[Int])->(maxValue:Int,minVlue:Int){
  return (maxValue,minVlue)
}
let result = findMaxAndMin([1,2,3,4,5,6])
result.maxValue
result.minValue

返回值需要与声明中的返回值名称一致。

为了防止传入的值为空,需要改为可选型:

func findMaxAndMin(numbers:[Int])->(maxValue:Int,minVlue:Int)?{
guard numbers.count > else{
return nil
}
  return (maxValue,minVlue)
}

通过guard关键字进行判断,在可选型中我们已经讲过了

在对函数进行调用的时候,所有的参数名都不可以省略:

func sayHello (name:String, greeting:String) -> String {
return name+greeting
} sayHello(name:“PlayGround”, greeting:“Hello”)
如果在函数声明中用下划线代替:
func sayHello (name:String, _:String) -> String {
return name+greeting
}
那么调用的时候可以省略
sayHello(name:“PlayGround”, “Hello”)

Swift语言中与C/C++和Java不同的语法(四)的更多相关文章

  1. Swift语言中与C/C++和Java不同的语法(一)

    ---恢复内容开始--- Swift作为苹果官方推出的IOS开发的推荐语言,在过去的几年间受到了越来越广泛的关注,其实编程的人都知道,不同的编程语言大同小异,掌握一门新的语言关键是了解它与其它语言不同 ...

  2. Swift语言中与C/C++和Java不同的语法(二)

    这一部分,主要讲Swift中创新的可选型(optionals) 一.概要 可选型是Swift创新的一种新的类型,首先看一下可选型的应用场景: var errorCode : Int = 404 这时候 ...

  3. Swift语言中与C/C++和Java不同的语法(五)

    这一节将会提到Swift中其他的关于函数的应用,这些内容包括有: 默认参数值和可变参数值.常量参数.返回函数类型和函数嵌套: 一.默认参数值和可变参数值 对默认参数值是指在函数的声明中就已经定义了参数 ...

  4. Swift语言中与C/C++和Java不同的语法(三)

    这一部分的主要内容是Swift中的Collections 我们知道Java中的Collection基本上是每一个Java程序猿接触到的第一个重要的知识点. 在Swift中也不例外,Swift中的Col ...

  5. Go语言中的slice

    Go语言中的slice有点类似于Java中的ArrayList,但在使用上更加灵活,先通过下面一个小例子来体验一下如何通过一个已有的切片来产生一个新切片: func main() { slice := ...

  6. c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  7. Java 语言中 Enum 类型的使用介绍

    Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...

  8. 浅谈Java语言中ArrayList和HashSet的区别

    Java语言中ArrayList和HashSet的区别 2019-04-10   13:22:49 一.基本区别 首先一起看个实例,其代码如下: package com.MrZ_baby.com; i ...

  9. 浅谈Java语言中try{}catch{}和finally{}的执行顺序问题

    浅谈Java语言中try{}catch{}和finally{}的执行顺序问题 2019-04-06  PM  13:41:46  1. 不管有没有出现异常,finally块中代码都会执行: 2. 当t ...

随机推荐

  1. 继webpack后又一打包神器Parcel

    前言: 在继grunt.gulp实现自动化构建之后,webpack又引领前端打包潮流,众所周知的是,vue-cli的脚手架就是基于webpack进行项目打包的.而webpack还在上升的势头的时候,又 ...

  2. Solr6.5.0配置中文分词器配置

    准备工作: solr6.5.0安装成功 1.去官网https://github.com/wks/ik-analyzer下载IK分词器 2.Solr集成IK a)将ik-analyzer-solr6.x ...

  3. OpenXml读取word内容(二)

    注意事项 上一篇已经说明,这次就不一一说了,直接来正文: word内容 相关代码 方法1 static void Main(string[] args) { string wordPathStr = ...

  4. 工作中git 操作汇总

    1. git branch -l  查看本地branch 2. git reset --hard 回滚全部修改 3. git status  查看本地修改 4. git pull 更新代码 5. gi ...

  5. BestCoder Round #75 King's Cake 模拟&&优化 || gcd

    King's Cake Accepts: 967 Submissions: 1572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6553 ...

  6. 基于低代码平台(Low Code Platform)开发中小企业信息化项目

    前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...

  7. css经典布局—stick footer布局

    html部分 <div id="wrap"> <div id="main" class="clearfix"> &l ...

  8. intellij idea 在什么地方打开终端Terminal

    File→Plugins→Terminal 勾选它,点击Apply,点击Restart即可如果是要启动terminal则必须先做完上面动作,才可以点击Tools→Open Terminal... 来达 ...

  9. 安装Oracle之后在DOS命令下不能使用sqlplus命令启动Oracle?

    就像完成安装JDK后需要给系统配置环境变量JAVA_HOME和PATH,以便让系统认识在JDK里面的Javac命令.同样的,安装Oracle也需要这么一个过程.在正常情况下安装Oracle时系统安装程 ...

  10. android中的五大布局(控件的容器,可以放button等控件)

    一.android中五大布局相当于是容器,这些容器里可以放控件也可以放另一个容器,子控件和布局都需要制定属性. 1.相对布局:RelativeLayout @1控件默认堆叠排列,需要制定控件的相对位置 ...