//: 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. activemq 简单聊天

    有兴趣加群qq:200634530

  2. order by 对null的处理

    [Oracle 结论] order by colum asc 时,null默认被放在最后order by colum desc 时,null默认被放在最前nulls first 时,强制null放在最 ...

  3. POJ2154 Color 【Polya定理 + 欧拉函数】

    题目 Beads of N colors are connected together into a circular necklace of N beads (N<=1000000000). ...

  4. Redis集群_主从配置

    链接地址http://www.2cto.com/database/201502/377069.html 收藏备用. Redis主从配置(Master-Slave) 一. Redis Replicati ...

  5. MFC 对话框阴影效果

    在 OnInitDialog(Cdialog)里面添加 SetClassLong(this->m_hWnd, GCL_STYLE, GetClassLong(this->m_hWnd, G ...

  6. Nginx + tomcat 实现简单集群(基于反向代理方式)

    一.安装 nginx 1. nginx依赖以下一些软件库,在安装之前请确保安装了这些软件库,它们包括:gcc,openssl,zlib,pcre(可通过rpm -q命令查询是否已安装) 可通过命令 r ...

  7. div 的相对定位与绝对定位

    网 上也有不少使用div + css进行布局的教程,却存在很多缺陷,一是对css的布局模型讲解不清楚,让人很难理解相对定位.浮动等概念:二是虽然避免了“表格套表格”的缺点,却 带来了“div 套 di ...

  8. 【CF1015E】Stars Drawing(贪心)

    题意:给定一个n×m大小的字符矩阵,仅由‘.’和‘*’组成,询问这个图可否划分为一些由‘*’组成的十字形状,这些十字之间可以有重叠, 如果存在方案则输出每个十字中心坐标与边长度,无解输出-1 n,m& ...

  9. ThickBox弹出框的使用方法

    原文发布时间为:2009-08-22 -- 来源于本人的百度文章 [由搬家工具导入] 请访问:http://www.blueidea.com/articleimg/2007/12/5182/tickb ...

  10. linux下kodi没有声音的解决

    前几天,心血来潮,就安装了manjaro的pre3版本,由于是mini kde版本的,就随手安装了kodi,可以用来看视频,听音乐和看图片. 结果在所有插件都折腾好了之后发现,在屏幕的右上角有一个喇叭 ...