今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点。废话不多说,直接开始了。

1:函数  --常量参数

  func  函数名( 参数变量:类型 ,参数变量:类型...){}
说明:
: func 是函数关键字
2:{} 函数体
3: 参数变量是默认常量类型,不能在函数函数体里面直接修改
即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量。

例子

/*
1: func 函数关键字
2:两个参数变量 value 和value1都是常量 不能修改
3:SayHello("hello","swift") 调用函数的方法
*/ func SayHello(value :String,value1:String){
var str = value + " " + value1
println(str)
} SayHello("hello","swift") 运行结果 hello swift 注意点:
----------------------错误写法--------------
func SayHello(value :String,value1:String){
value = "AA" //错误写法 在函数中参数变量默认是常量类型不能修改
}

2:函数  --变量参数

  func 函数名( var  参数变量 : 类型,... ) {}
说明
: func 函数关键字
: var 参数变量 :类型 表示参数变量是可变变量,不是常量,可以任意修改

例子

func  SayHello(var value :String){
value = "AA" //value 是被var 修改,value是可变变量
println(value)
} SayHello("hello") 运行结果
AA

3:函数 --参数默认值

func  函数名(参数值 :类型=默认值){}
说明
1:func是函数的关键字
2:如果参数值,不赋值,参数值就采用默认值

例子

func SayHello(value:String = "AA"){
println("value=\(value)")
} SayHello(value:"") //带参数
SayHello()//不带参赛 运行结果
value=
value=AA

三:函数 --可变参数

    func 函数名(参数名 类型...){}
说明 :
参数名 类型... 说明 该参数可以接触N个参数。

例子

func SayHello(values :Double...){
for temp in values{
println("temp=\(temp)")
} } SayHello(1.1,1.2,1.3) 运行结果
temp=1.1
temp=1.2
temp=1.3

4:函数 --外部参数名

 func  函数名 (参数变量:类型 ,参数说明  参数变量:类型)
说明:
:函数中的第一个不需要参数说明
:参数说明 + 参数名 : 类型 ,构成一个参数
调用方法
函数名(参数值,参数说明:参数值,参数说明:参数值....)

例子

// joinStr value1 : String 是一个参数

func SayHello(value : String, joinStr value1 : String){
var str = value + value1
println("str= \(str)")
} SayHello ("hello ",joinStr:"Swift") 运行结果
str=hello Swift

5:函数 输入输出参数

func 函数名(inout 函数变量 类型)

    说明:
inout 修辞的变量 函数内部可以直接修改,其外部可以获取到

例子:

func SayHello (inout value:String){
value = "Hello Swift"
} var str = "hello"
SayHello(&str) //此时传递 字符串的地址
println(str) 运行结果
Hello Swift

6:函数返回值 --元组

/*
func 函数名 ( 参数变量 : 类型 ,参数说明 参数变量 :类型)-> 类型 1:func 函数关键字
2: ->类型 ,返回类型
*/

例子

//------------------------返回 元组
func SayHello(value:String ,nums Value1:String)->(String,String){ return (value,Value1)
} var (A,B)=SayHello("hello",nums:"swift") println("A=\(A),B=\(B)") 运行结果

  A=hello,B=swift

7:函数返回值 ---函数

// 自加函数
func Add(num : Int)->Int{
return num +
}
//自减函数 func zj(num : Int)->Int{ return num -
} //定义返回函数类型 func SayHello(num:Bool)->(Int)->Int{ //其中 (Int)->Int 返回参数为整形,返回值为整形的函数 return num ? Add : zj
} var num = var fun:(Int)->Int = SayHello(num > ); num = fun(num) println("num=\(num)") 运行结果 num=

后面的文章,我回陆续把我学习到swift语言的知识写出来形成一个系列。由于是新语言,难免有不足,欢迎给我提出意见。也可以加我QQ 1436051108一起讨论,如果您有什么问题,也可以直接在QQ留言发给我,我看到之后第一时间回复您

最后总结一下。送上一直思维导图,作为文章的结束

swift入门篇-函数的更多相关文章

  1. Swift入门篇-闭包和函数

    今天主要是给大家分享的是 swift中闭包的用法,我个人觉得闭包就是函数的简写方法,如果您函数不是很熟悉请查阅 swift入门篇-函数 1:函数类型 函数类型 var 变量 :(类型)->返回值 ...

  2. Swift入门篇-Hello World

    提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要 ...

  3. Swift入门篇-循环语句

    今天早上一起来所有新闻都是报道荷兰5-1战胜西班牙,我一看没有搞错吧,顿时想都如果中国队vs荷兰队也不至于会输的怎么惨吧,难道是荷兰队开挂了,于是我看了一下昨天比赛的视频直播,还真是新闻报道的那样,顿 ...

  4. Swift入门篇-字符串和字符

    今天主要是介绍一下字符串的用法 ,字符串的语法和object-c语法不太一样,但是思想是一样,就是写法不太一样.如果您对.net和java语法比较熟悉的话,那您几乎没有深压力.如果您对swift 基本 ...

  5. Swift入门篇-基本类型(2)

    现在我也在学习Swift语言,常常去逛很多苹果社区和论坛,看到了圈子很多奇怪的现象,发现很多人都赶忙去翻译 Swift书籍 和 发布Swift的视频 .他们这种对新知识的探索精神我本人是很佩服的.但是 ...

  6. Python入门篇-函数、参数及参数解构

    Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x ...

  7. Swift入门篇-swift简介

    潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 在前期 ios入门篇 -hello Word(1) 文章中介绍我这半年准备写一些ios ...

  8. Swift入门篇-集合

    一:数组 一:可变数组 定义:数组使用有序列表存储相同类型的多重数据. 格式: 第一种格式 var 变量: 类型[] = [变量值,变量值,...] 第二种格式 var 变量 =[变量值,变量值,.. ...

  9. Swift入门篇-基本类型(3)

    一:元组 格式 变量或常量关键字 元组变量 = ( 变量,变量, …) 说明: : 元组变量还是一个变量,只不过表现方式和其他变量不一样 :()括号里面可以放入N个变量组成 例子: import Fo ...

随机推荐

  1. 11 个 Linux 上最佳的图形化 Git 客户端

    Git是软件开发和若干其他版本控制任务免费和开源的分布式版本控制系统.它被设计用来以应付一切从小到非常大的项目,基于速度,效率和数据完整性. Linux用户主要通过命令行管理Git,不过,一些图形用户 ...

  2. python 2.X

    from BaseHTTPServer import BaseHTTPRequestHandler

  3. springMVC验证码程序

    原文地址:http://my.oschina.net/u/1757031/blog/488322 import java.awt.Color; import java.awt.Font; import ...

  4. jquery实现TODOList

    html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  5. Linux下运行jar包

    方法① 1.vim xxx.jar 2.配置程序入口:找到MANIFEST.MF,添加Main-Class:+空格+package.class 3.引入第三方jar包:①在MANIFEST.MF中加入 ...

  6. 第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用

    今天来了解下scala的泛型 先让我们看下这段代码 class Triple[F,S,T](val first:F,val second: S,val third: T) val triple = n ...

  7. Webpack使用教程一

    过去数年间,web开发已经从包含少量JavaScript代码的应用发展到到拥有复杂JavaScript代码和代码之间依赖关系树的应用.手动维护这些复杂的代码依赖关系是很麻烦的.Webpack能分析项目 ...

  8. Hadoop on Docker

    最初接触Docker是在2013年初,当时Docker才刚起步不久,知之甚少.在不到一年的时间里,Docker已经家喻户晓,成为时下最热门的云计算技术之一,出现了许多围绕docker的新兴产品(仅供参 ...

  9. 【原创】 SharePoint Service Unavaliable

    HTTP Error 503. The service is unavailable. 一般都是application pool停止工作了,停止原因可能是Identiy里的账号过期了什么的.

  10. 开发笔记:用不用UnitOfWork以及Repository返回什么集合类型

    这2天实际开发中明确的东西,在这篇博文中记录一下. 之前对是否需要自己封装UnitOfWork有些犹豫,因为Entity Framework就是一个UnitOfWork实现, 自己再封装一下显得有些多 ...