最近又有点忙,忙着找工作,忙着适应这个新环境。现在好了,上班两周周了,也适应过来了,又有时间安安静静的就行我们前面的学习了。今天这篇笔记,记录的就是函数的使用。下面这些代码基本上是理清楚了函数的额使用,但还有一块“闭包”的内容,后面我们单独写一块出来。

       // 形参传递的过程中,由于没有写外部形参名称,第一个形参的外部形参名字可以省略,第二的的不可以省略
let zxtest = testString(1, zc: 2)
print(zxtest) // 返回值是一个元组的形式返回到,参数的传递和上面的注意点一样。
let zx = zxtestString(2, zc: 3)
print(zx) // 形参个数可变的函数
zxztestString(1,2,3,4) // 传入变量类型的形参,这里传入的值和里面的给它赋值是不一样的,传的 5 打印 出来是 3
zxzxztestString(5)

// 这里就是传入的形参形式是函数的形式,第一个我们是命名了外部形参名的,所以在传值得时候也就必须得体现。
zxzxzxtestString(zhanxgu: 2, zxsb: 3)
// 定义一个函数,形参名:形参类型  ——> 返回值的类型
func testString(zx: Int, zc:Int)->String
{ // if(zx>zc)
// {
// return "yes"
// }
// else
// {
// return "no"
// } // 一个三目运算符,和上面的逻辑是一样的,按这样鞋就显得你更专业,代码量是少,精炼。
return zx>zc ? "yes" : "no" } // 定义一个函数,它的返回值类型是多个已返回值的元组的形式。
func zxtestString(zx:Int ,zc:Int)->(String,String)
{ return zx > zc ? ("zhang","xu") :("cao","xi")
// 在一行上连续的声明必须加分割符 ; (这里的书写错误就是zx与后面的>之间没有空格) } // 定义形参个数可变的函数
func zxztestString(zx:Int...)
{ print(zx) } // 传入变量类型的形参
func zxzxztestString(var zx :Int)
{
zx = 3
print(zx) } // 函数传入的形参也是函数 ,zhanxgu 是一个外部形参名
func zxzxzxtestString ( zhanxgu zx:Int , zxsb:(Int))
{
zxsbd(3)
print("小旭旭")
} func zxsbd(zx:Int)
{ print(String(format: "========%d",zx)) }

Swift2.0 函数学习笔记的更多相关文章

  1. C++学习基础十六-- 函数学习笔记

    C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...

  2. 从零开始搭建.NET Core 2.0 API(学习笔记一)

    从零开始搭建.NET Core 2.0 API(学习笔记一) 一. VS 2017 新建一个项目 选择ASP.NET Core Web应用程序,再选择Web API,选择ASP.NET Core 2. ...

  3. Swift 2.0 字符串学习笔记(建议掌握OC字符串知识的翻阅)

    自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目 ...

  4. Object-C 语法 字符串 数组 字典 和常用函数 学习笔记

    字符串 //取子字符串 NSString *str1=@"今天的猪肉真贵,200块一斤"; NSString *sub1=[str1 substringFromIndex:4]; ...

  5. contiki-main.c 中的process系列函数学习笔记 <contiki学习笔记之六>

    说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ---------------------------------------------- ...

  6. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

  7. MYSQL存储过程和函数学习笔记

    学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆课程笔记的综合. 1. 什么是存储过程和函数 将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和 ...

  8. loss函数学习笔记

    一直对机器学习里的loss函数不太懂,这里做点笔记. 符号表示的含义,主要根据Andrew Ng的课程来的,\(m\)个样本,第\(i\)个样本为\(\vec x^{(i)}\),对应ground t ...

  9. Vue1.0基础学习笔记整理

    最近一直在使用Vue.js开发项目,现将在学习过程中遇到的一些学习小细节总结如下: 1.只处理单次插值,今后的数据变化就不会再引起插值更新了 <span>This will never c ...

随机推荐

  1. jQuery.extend({...})分析

    作者:zccst 看一下是如何写的 jQuery.extend({ prop:"" method:function(){} }); 可以看出,这些方法是jQuery的静态属性和方法 ...

  2. iOS开发——delegate的相关警告

    警告:Assigning to 'id<...Delegate>' from incompatible type '...ViewController *const_strong' 解决方 ...

  3. 微信小程序-未接入app.json错误

    微信小程序建立新项目之后会出现app.json文件未接入错误如下图: 一般是因为在下图添加新项目,项目目录这一列,如果不事先建立一个空的文件夹,直接选择则不会出现quickstartup界面 所以在建 ...

  4. 【转】25个Git用法技巧

    Andy Jeffries 给 Git 中级用户总结分享的 25 个小贴士.你不需要去做大量搜索,或许这些小贴士对你就很有帮助的. 我从开始使用git到现在已经差不多18个月了,以为自己已经很懂git ...

  5. C# 计算文件的HASH

    /// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String ...

  6. Node.js timer的优化故事

    前几天nodejs发布了新版本4.0,其中涉及到一个更新比较多的模块,那就是下面要介绍的timer模块. timers: Improved timer performance from porting ...

  7. 详解Grunt插件之LiveReload实现页面自动刷新(两种方案)

    http://www.jb51.net/article/70415.htm    含Grunt系列教程 这篇文章主要通过两种方案详解Grunt插件之LiveReload实现页面自动刷新,需要的朋友可以 ...

  8. iOS 错误 之 http请求

     Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is ins ...

  9. 绘图——Android绘图基础:Canvas、Paint等

    Android的绘图应该继承View组件,并重写它的onDraw(Canvas canvas)方法即可. 重写onDraw(Canvas canvas)方法时涉及一个绘图API:Canvas,Canv ...

  10. PHP新手之学习类与对象(4)

    五.范围解析操作符(::) 范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员.方法和常量,还可以用于覆盖类中的成员和方法. 当在类的外 ...