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

import UIKit

//多返回值函数

func countss(string:
String) -> (vowels:
Int,consonants:
Int,others: Int) {

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

for character
in string {

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", "r", "s",
"t", "v",
"w", "x", "y",
"z":

++consonants

default:

++others

}

}

return (vowels, consonants, others)

}

let countsss =
countss("qwertyuiopasdfghj!234")

countsss.consonants

countsss.others

//外部參数名

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

return s1 + joiner + s2

}

//当你调用这个函数,你传递给函数的三个字符串的目的就不是非常清楚了:

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

//为了使这些字符串值的目的更为清晰,为每一个 join
函数參数定义外部參数名称:

func joiners(string s1:
String, toString s2:
String, withJoiner joiner:
String) ->
String {

return s1 + joiner + s2

}

joiners(string:
"hello", toString:
"world", withJoiner: ":")

//外部參数名称速记

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

for character
in string {

if character == characterToFind {

return
true

}

}

return
false

}

containsCharacter(string: "aaabbccc",
"f")

//參数的默认值

func joinerss(string s1:
String, toString s2:
String, withJoiner joiner:
String =
" ") -> String {

return s1 + joiner + s2

}

joinerss(string:
"hello", toString:
"world")

joinerss(string:
"hello", toString:
"world", withJoiner: "-")

//有默认值的外部名称參数

func joinersss(s1:
String, s2:
String, joiner:
String = " ") ->
String {

return s1 + joiner + s2

}

joinersss("hello",
"world")

joinersss("hello",
"world", joiner: ";")

//常量參数和变量參数

//函数參数的默认值都是常量。

试图改变一个函数參数的值会让这个函数体内部产生一个编译时错误。

这意味着您不能错
误地改变參数的值。

//在參数名称前用keyword var
定义变量參数:

func alignRight(var string:
String, countw:
Int, pad: Character) ->
String {

let amountToPad = countw -
count(string)

for
_ in
1...amountToPad {

string =
String(pad) + string

}

return string

}

alignRight("hello",
10,
"-")

//输入-输出參数

//方法的參数都是常量。不能改动;要声明变量必须在參数名前加 var

func swapTwoInts(inout a:
Int,inout b:
Int) {

let temporaryA = a

a = b

b = temporaryA

}

var someInt =
5

var anotherInt =
190

swapTwoInts(&someInt, &anotherInt)

someInt

anotherInt

swfit各种Function表现形式的更多相关文章

  1. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

  2. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  3. 【HTML5】嵌入另一张HTML文档、通过插件嵌入内容、嵌入数字表现形式

    1.嵌入另一张HTML文档 iframe 元素允许在现有的HTML文档中嵌入另一张文档.下面代码展示了iframe元素的用法: <!DOCTYPE html> <html lang= ...

  4. easyui里弹窗的两种表现形式

    easyui里弹窗的两种表现形式 博客分类: jQueryEasyUi   1.主JSP页面中描绘弹窗   <div id="centerDiv" data-options= ...

  5. function foo(){}、(function(){})、(function(){}())等函数区别分析

    前面一段时间,看到(function(){}),(function(){}())这些函数就犯晕,不知道它到底是什么意思,为什么函数外要加小括号,函数后要加小括号,加和不加到底有什么区别……一直犯迷糊, ...

  6. [ActionScript 3.0] AS3.0 把图片分析成文本表现形式

    PLP%uffs??1ti4b5I3iI5CMMGGE8Ta8?c8[mm3CF9sLaXZDll6kpjmhGmhE$GONEENhhGl6OWXb9lkNk0kkNpklZW6&bDN0q ...

  7. JavaScript之Function函数深入总结

    整理了JavaScript中函数Function的各种,感觉函数就是一大对象啊,各种知识点都能牵扯进来,不单单是 Function 这个本身原生的引用类型的各种用法,还包含执行环境,作用域,闭包,上下 ...

  8. JavaScript Function 函数深入总结

    整理了JavaScript中函数Function的各种,感觉函数就是一大对象啊,各种知识点都能牵扯进来,不单单是 Function 这个本身原生的引用类型的各种用法,还包含执行环境,作用域,闭包,上下 ...

  9. JS中函数常见的表现形式以及立即执行函数

    函数常见的几种表现形式: 1.一般形式(函数声明): 会进行函数的预解释,函数会进行声明和定义,在函数体前面或则后面都可以进行调用. 2.函数表达式(匿名函数): 会进行函数的预解析,函数会进行声明但 ...

随机推荐

  1. pandas神坑:如果列有NAN,则默认给数据转换为float类型!给pandas列指定不同的数据类型。

    今天碰到一个错误,一个字典取值报keyError, 一查看key, 字符串类型的数字后面多了小数点0, 变成了float的样子了. 发现了pandas一个坑:如果列有NAN,则默认给数据转换为floa ...

  2. PAT1026

    要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间.这个时间单位是clock tick,即“时 ...

  3. preg_replace_callback 正则替换回调方法用法,

    Example #1 preg_replace_callback() 和 匿名函数 <?php /* 一个unix样式的命令行过滤器,用于将段落开始部分的大写字母转换为小写. */ $fp = ...

  4. (转)对称加密与非对称加密,以及RSA的原理

    一 概述 二对称加密和非对称加密 对称加密 非对称加密 区别 三RSA原理 整数运算 同余运算 当模数为合数n时 当模数为质数p的时候 离散对数问题 RSA原理 一 , 概述 在现代密码学诞生以前,就 ...

  5. BZOJ 4326:NOIP2015 运输计划(二分+差分+lca)

    NOIP2015 运输计划Description公元 2044 年,人类进入了宇宙纪元.L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所 ...

  6. BZOJ3561 DZY Loves Math VI 【莫比乌斯反演】

    题目 给定正整数n,m.求 输入格式 一行两个整数n,m. 输出格式 一个整数,为答案模1000000007后的值. 输入样例 5 4 输出样例 424 提示 数据规模: 1<=n,m<= ...

  7. FTB操作

    一些参考案例下面是一些常用的ftp操作文件的方法 案列1 using System; using System.Collections.Generic; using System.Text; usin ...

  8. Gym 100989E 字符串

    Description standard input/output Islam is usually in a hurry. He often types his passwords incorrec ...

  9. C++ Contest Code preprocessor

    大概可以拿来方便拉模板 变量名.语法都是瞎整的你感觉有用随便用好了.. #include<bits/stdc++.h> using namespace std; map<string ...

  10. 【02】webpack 之 入门

    http://www.jianshu.com/p/42e11515c10f 写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可 ...