函数:完成特定任务的代码块,通过名字来表示函数做什么

func 函数名(形参:形参类型)->返回类型

command +option+0 隐藏右边的框

//定义函数

func sayHello(name:String)->String{

let greeting = "hello " + name + "!"

return greeting

}

println(sayHello("Anno"))

// 多个参数

func minusResult(start:Int,end:Int)->Int{

return end - start

}

println(minusResult(1,10))

//无参数

func sayHelloWorld() ->String{

return "Helo World"

}

println(sayHelloWorld())

// 无返回值 Void = 空元组(tuple)

func sayGoodbye(name:String){

println("Goodby,\(name)")

}

println(sayGoodbye("Dave"))

// 多重返回值函数

func count(str:String) ->(vs:Int,cs:Int,os:Int){

var vowels = 0,consonants = 0,others = 0

for Character in str{

switch String(Character).lowercaseString{

case "a","e","i","o","u":

++vowels

case "b","c","d","f","g","h","j","k","l","m","n","p","q","t","s","t","v","w","x","y","z":

++consonants

default:

++others

}

}

return (vowels,consonants,others)

}

let total = count("some arbitrary string!")

println("\(total.vs) vowels and \(total.cs) consonants")

// 外部参数名 把两个字符串连在一起

func join(s1:String, s2:String,joiner:String) ->String{

return s1 + joiner + s2

}

println(join("hello","world",","))

// 不使用外部参数的时候,这三个参数不清楚到底是干什么的

func joins(outSting s1:String,toSting s2:String, withJoiner joiner:String) ->String{

return s1 + joiner + s2

}

println(joins(outSting:"hello",toSting:"world",withJoiner:","))

// 带来问题:调用函数的时候 写太多,解决办法 看下边

// 简写 外部参数名  参数名前 加#

//        func joins1(outSting s1:String,toSting s2:String, withJoiner joiner:String) ->String{

//            return s1 + joiner + s2

//        }

//        println(joins1(outSting:"hello",toSting:"world",withJoiner:","))

func containsCharacter(#string:String,#characterToFind:Character) ->Bool{

for character in string{

if character == characterToFind{

return true

}

}

return false

}

let containsAVee = containsCharacter(string: "qwertyuiop", characterToFind: "y")

println(containsAVee)

// 给默认参数

func joinss(outSting s1:String,toSting s2:String, withJoiner joiner:String = ",") ->String{

return s1 + joiner + s2

}

// 第三个参数 没写 直接使用默认值

let str1 = joinss(outSting: "nihao", toSting: "heri")

println(str1)

//  注意会出错

func joinbb(outSting s1:String,toSting s2:String, withJoiner joiner:String = "") ->String{

return s1 + joiner + s2

}

// 第三个参数 没写 直接使用默认值

let str2 = joinbb( outSting: "haha", toSting: "zheli", withJoiner: "+")

println(str2)

// 可变参数   传入不确定数量来输入参数     变量名类型 ...  = 数组常量

最新文章

  1. jsf初学解决faces 中文输入乱码问题
  2. 空间不支持openssl解决办法
  3. C# WinForm开发系列 - ListBox/ListView/Panel
  4. MySQL约束
  5. jQuery登陆判断简单实现代码
  6. C# DataTable去除重复,极其简便、简单
  7. <Win32_12>程序员求爱的创意程序——升级版^_^
  8. firebug使用
  9. git配置流程
  10. 跑马灯、短信与反射EditText
  11. (转)sizeof
  12. Cygwin-Cygwin ssh Connection closed by ::1 出错
  13. eslint 的基本配置介绍
  14. JS 实现MVC的写法
  15. 你不可不知的Eclipse快捷键
  16. dig常用命令
  17. python day18--面向对象,继承
  18. 阿里开源项目arthas安装使用
  19. OC Block(代码块)
  20. leetcode 之突然不做了

热门文章

  1. mysql备份并升级sql语句
  2. C++源码学习
  3. iView之DatePicker的datetimerange校验
  4. 阿里云服务器,无法通过公网ip访问实例
  5. 一步步实现 Prism + MEF(二)--- 绑定命令
  6. 《Java多线程编程核心技术》读后感(八)
  7. map中根据value获取key
  8. 牛客多校3 A-PACM Team(状压降维+路径背包)
  9. [nyoj]会场安排问题-贪心
  10. unity5.5打包