文档章节

Swift函数(Function)学习笔记

Jack777
 Jack777
发布于 2016/06/24 23:01
字数 460
阅读 2
收藏 0

本博客笔记内容:

      函数定义与调用(Defining and Calling Functions)

      函数参数与返回值(Function Parameters and Return Values)

      函数参数名称(Function Parameter Names)

直接上代码:代码有注释:

//: Playground - noun: a place where people can play

 

import UIKit

 

 

//定义一个带参数的函数

//  \()是用来替换变量值

func sayHello(personName: String ) -> String {

    let greeting = "Hello, \(personName)"

    return greeting

}

//调用函数,函数名和参数

print(sayHello("luopan"))

 

//定义一个无参数的函数

func sayHello() ->String {

return "hello, swift!"

}

 

//调用函数,函数名

print(sayHello())

 

 

//定义一个多参数的函数

func sayHello(personName:String, alreadyGreed:Bool)->String{

    if alreadyGreed{

        return sayHello("第二次\(personName)")

    }else{

        return sayHello("第一次\(personName)")

    }

}

 

print(sayHello("luopan", alreadyGreed: false))

print(sayHello("luopan", alreadyGreed: true))

 

 

//定义返回元祖,从而达到返回多个值的效果

func minMax(array:[Int]) -> (min:Int , max:Int){

    var currentMin = array[0]

    var currentMax = array[0]

    for value in array[1..<array.count]{

        if value < currentMin {

            currentMin = value

        }else if value > currentMax{

            currentMax = value

        }

    }

    return (currentMin,currentMax)

}

let  bounds  = minMax([6,-2,4,456,3,78])

print("min is \(bounds.min) and max is \(bounds.max)")

 

//定义可选性元祖作为返回

func minMax(array:[Double]) -> (min:Double ,max:Double)?{

    var currentMin = array[0]

    var currentMax = array[0]

    

    for value in array[1..<array.count]{

        if value < currentMin {

            currentMin = value

        }else if value > currentMax{

            currentMax = value

        }

    }

    return(currentMin,currentMax)

}

 

//那么我们使用的时候需要解包可选型

if let minMaxValue = minMax([23.34,-34,78,45.56,545.00,333.444]){

    print("min is \(minMaxValue.min) and max is \(minMaxValue.max)")

}

 

//定义一个具有外部参数名和局部变量名的函数

func sayHello(to person:String, and anotherPerson:String) ->String{

    return "Hello \(person) and \(anotherPerson)"

}

//注意,如果指定了外部参数变量名,那么调用的时候,必须带上的。

print(sayHello(to: "luopan", and: "mingxing"))

 

//定义一个可变参数个数的函数

func arithmeticMean(numbers:Double...) -> Double{

    var total:Double = 0

    for number in numbers{

        total += number

    }

    

    return total/Double(numbers.count)

}

//注意一个函数只能有一个可变参数

print(arithmeticMean(1,2,3,4,5))

print(arithmeticMean(3,8.26,18.75))

 

今天到此为止吧!

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

Jack777
粉丝 0
博文 12
码字总数 6493
作品 0
武汉
Android工程师
私信 提问
Swift 个人学习笔记 - 06: 控制流

本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的...

amc
2017/02/22
0
0
Go语言基础学习:变量

Go语言基础学习(一)变量 猜你喜欢 Ceylon语言学习笔记(1) 《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言 go语言学习-常量 GO语言学习-复杂类型(2) Go语言学习...

d_watson
2016/04/15
13
0
Swift 个人学习笔记 - 06: 闭包(Clousures)

本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的...

amc
2017/03/01
0
0
Swift 个人学习笔记 - 07: 函数

本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的...

amc
2017/02/23
0
0
Swift 里的函数钩子

这两周,我一直对于苹果公司在2014WWDC上面公布的新事物感到激动不已。Swift语言,应该是其中最有意思的创造之一。我不确定为什么我确实需要学习Swift(可能因为……喂,你连运行环境都是用的...

oschina
2014/06/20
584
1

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
43分钟前
4
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
今天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
今天
4
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
今天
6
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部