swift入门篇-函数
今天给大家介绍 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入门篇-函数的更多相关文章
- Swift入门篇-闭包和函数
今天主要是给大家分享的是 swift中闭包的用法,我个人觉得闭包就是函数的简写方法,如果您函数不是很熟悉请查阅 swift入门篇-函数 1:函数类型 函数类型 var 变量 :(类型)->返回值 ...
- Swift入门篇-Hello World
提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要 ...
- Swift入门篇-循环语句
今天早上一起来所有新闻都是报道荷兰5-1战胜西班牙,我一看没有搞错吧,顿时想都如果中国队vs荷兰队也不至于会输的怎么惨吧,难道是荷兰队开挂了,于是我看了一下昨天比赛的视频直播,还真是新闻报道的那样,顿 ...
- Swift入门篇-字符串和字符
今天主要是介绍一下字符串的用法 ,字符串的语法和object-c语法不太一样,但是思想是一样,就是写法不太一样.如果您对.net和java语法比较熟悉的话,那您几乎没有深压力.如果您对swift 基本 ...
- Swift入门篇-基本类型(2)
现在我也在学习Swift语言,常常去逛很多苹果社区和论坛,看到了圈子很多奇怪的现象,发现很多人都赶忙去翻译 Swift书籍 和 发布Swift的视频 .他们这种对新知识的探索精神我本人是很佩服的.但是 ...
- Python入门篇-函数、参数及参数解构
Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x ...
- Swift入门篇-swift简介
潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 在前期 ios入门篇 -hello Word(1) 文章中介绍我这半年准备写一些ios ...
- Swift入门篇-集合
一:数组 一:可变数组 定义:数组使用有序列表存储相同类型的多重数据. 格式: 第一种格式 var 变量: 类型[] = [变量值,变量值,...] 第二种格式 var 变量 =[变量值,变量值,.. ...
- Swift入门篇-基本类型(3)
一:元组 格式 变量或常量关键字 元组变量 = ( 变量,变量, …) 说明: : 元组变量还是一个变量,只不过表现方式和其他变量不一样 :()括号里面可以放入N个变量组成 例子: import Fo ...
随机推荐
- php 继承
说多重继承之前首先说下与其相对的单一继承,单一继承指的是一个类只可以继承自一个父类,从现实生活中举例就是说一个儿子只有一个父亲.那么多重继承就好理解了,多重继承指的是一个类可以同时从多于一个父类继承行 ...
- ubuntu 14.04 编译内核出现unable to locate package ncurses-devel 问题的解决
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c422461614 ...
- java常用类
String 字符串类 System 可得到系统信息 Runtime类 StringBuilder(StringBuffer)类 Thread 线程类 Math 与数学有关的工具类 Date 日期类( ...
- text-indent
<div class="top wd"> <div class="con fl "><a href="#"&g ...
- Ubuntu和Windows的交互工具---Samba环境配置
Samba软件安装 使用源代码安装samba,在终端输入如下指令: #sudo apt-get install samba #sudo apt-get install smbclient #sudo ...
- BZOJ 4247: 挂饰 题解
Description JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同--其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直 ...
- 用SQL语句,删除掉重复项只保留一条
用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select ...
- MHA安装手记
安装MHA服务器和客户端 # yum install perl-DBD-MySQL 在manager节点上: # yum install perl-DBD-MySQL # yum install pe ...
- Protues记录文档_1
1.实现器件的连线端有红蓝小方块来表示改端电平变化. 操作:选菜单:SYSTEM\SET ANIMATION OPTION ,相应的勾选对应的选项2 附:可以添加逻辑探测器,在库中直接搜索“LOGIC ...
- EasyCriteria 3.0 发布
EasyCriteria 3.0 发布了,这是一个全新的版本,进行了大量的重构.官方发行说明请看:http://uaihebert.com/?p=1898 EasyCriteria 是一个轻量级的框架 ...