Swift语言中与C/C++和Java不同的语法(四)
这一节,我们将会讨论一下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不同的语法(四)的更多相关文章
- Swift语言中与C/C++和Java不同的语法(一)
---恢复内容开始--- Swift作为苹果官方推出的IOS开发的推荐语言,在过去的几年间受到了越来越广泛的关注,其实编程的人都知道,不同的编程语言大同小异,掌握一门新的语言关键是了解它与其它语言不同 ...
- Swift语言中与C/C++和Java不同的语法(二)
这一部分,主要讲Swift中创新的可选型(optionals) 一.概要 可选型是Swift创新的一种新的类型,首先看一下可选型的应用场景: var errorCode : Int = 404 这时候 ...
- Swift语言中与C/C++和Java不同的语法(五)
这一节将会提到Swift中其他的关于函数的应用,这些内容包括有: 默认参数值和可变参数值.常量参数.返回函数类型和函数嵌套: 一.默认参数值和可变参数值 对默认参数值是指在函数的声明中就已经定义了参数 ...
- Swift语言中与C/C++和Java不同的语法(三)
这一部分的主要内容是Swift中的Collections 我们知道Java中的Collection基本上是每一个Java程序猿接触到的第一个重要的知识点. 在Swift中也不例外,Swift中的Col ...
- Go语言中的slice
Go语言中的slice有点类似于Java中的ArrayList,但在使用上更加灵活,先通过下面一个小例子来体验一下如何通过一个已有的切片来产生一个新切片: func main() { slice := ...
- c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
- Java 语言中 Enum 类型的使用介绍
Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...
- 浅谈Java语言中ArrayList和HashSet的区别
Java语言中ArrayList和HashSet的区别 2019-04-10 13:22:49 一.基本区别 首先一起看个实例,其代码如下: package com.MrZ_baby.com; i ...
- 浅谈Java语言中try{}catch{}和finally{}的执行顺序问题
浅谈Java语言中try{}catch{}和finally{}的执行顺序问题 2019-04-06 PM 13:41:46 1. 不管有没有出现异常,finally块中代码都会执行: 2. 当t ...
随机推荐
- JAVA读取、写入Excel表格(含03版)
引言 工作中可能会遇到对Excel读取和写入,如果我们自己手动写的话,会很麻烦,但是Apache中有poi工具类.poi工具类封装好了对于Excel读取和写入,我们需要用的时候,直接调用该方法就好了. ...
- Spring Cloud Zuul
新建Spring Boot工程,命名为zuul 1.pom.xml添加依赖 <?xml version="1.0" encoding="UTF-8"?&g ...
- 【NOIP2015提高组】子串
https://daniu.luogu.org/problem/show?pid=2679 看到方案数问题直觉就能想到DP,考虑用f(i,j,k)表示A[1...i]取k个子串组成B[1...j]的方 ...
- tyvj4877 组合数
1.组合数 (zero.cpp/c/pas) 时间限制:1s 内存限制:256MB [问题描述] 从m个不同元素中,任取n(n≤m)个元素并成一组,叫做从m个不同元素中取出n个元素的一个组合:从m个不 ...
- java学习笔记之String类
String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...
- Shuttle ESB(一)——入门实例
下载Shuttle ESB 从GitHub项目公布页,下载最新的公布版本号. Shuttle-ESB源代码包列表:http://www.nuget.org/packages?q=shuttle-esb ...
- JSP具体篇——response对象
response对象 response对象用于响应client请求,向客户输出信息. 他封装了JSP产生的响应,并发送到client以响应client请求. 1.重定向网页 使用response对象的 ...
- Struts2中validate数据校验的两种常用方法
本文主要介绍Struts2中validate数据校验的两种方法及Struts2常用校验器. 1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接 ...
- 自学Zabbix3.10.1.4-事件通知Notifications upon events-媒介类型Ez Texting
自学Zabbix3.10.1.4-事件通知Notifications upon events-媒介类型Ez Texting Ez Texting是zabbix的技术合作伙伴,主要提供短信服务,用手机注 ...
- flask中的session,render_template()第二和参数是字典
1. 设置一个secret_key 2.验证登入后加上session,这是最简单,不保险 . 3.注意render_template传的参数是字典