//
// main.swift
// FunctionTest-04
// import Foundation println("函数測试!") testFunction()
//
// FunctionTest.swift
// FunctionTest-04
// import Foundation
//函数以func开头 表示是一个函数
//參数和參数以,
//v1 表示參数:String 表示參数的类型
// -> 表示返回值 String
func testConcat(v1:String, v2:String)->String{
return "\(v1) and \(v2)";
} //參数是0个。返回值是三个
func getInfo()->(String,String,String){
return ("欢迎","来到","百度");//是一个元祖
} //标签是oc的长处swift把oc里面的标签拿过来了
func testConcat2(v1 :String, andValue v2 :String,andNumber v3 :Int)->String{
return"\(v1) and \(v2) and \(v3)";
} func testFunctionInFunction()->Int
{
var y = 10;
//add是一个函数 lua脚本语言
func add(){
//var y = 1;以下这个y会选择zui
y += 5;
}
add();
return y;
}
//这是一个函数 返回值是(Int->Int)
func getFuncPointer()->(Int->Int){
func addOne(num : Int)->Int
{
return num+1;
}
//这里返回一个函数的地址
return addOne;
} func testFunction()
{
println("開始測试函数"); let v = testConcat("hello","world");
println(" v is \(v)"); //andValue:称为一个标签
let v2 = testConcat2("百度",andValue:"百度招聘",andNumber:100);
println("v2 is \(v2)"); let(v3,v4,v5) = getInfo();
println("v3\(v3) v4\(v4) v5\(v5)"); let v6 = testFunctionInFunction(); println("v6 is\(v6)"); //函数指针
var funcPointer = getFuncPointer();
var v7 = funcPointer(199);
println("v7 is \(v7)"); //把函数地址/指针作为參数
var arr = [20,10,333,4,43,33];
var v8 = hasAnyMatch(arr,lessThanTen);
} func hasAnyMatch(list : [Int],condition:Int -> Bool) -> Bool
{
for item in list{
if(condition(item))
{
return true;
}
}
return false; } func lessThanTen(number :Int)->Bool{
return number <= 10;
}

swift -函数、函数指针的更多相关文章

  1. Swift 学习一函数&函数属性&懒加载

    函数 函数相当于OC中的方法 格式: func 函数名(参数列表) -> 返回值类型 {    代码块    return 返回值} func 函数名(参数列表){  // 返回值为Void 可 ...

  2. Swift 中函数使用指南

    关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...

  3. C语言中 指向函数的指针 简介

    引子:在学习CPrimerPlus的第十四章的14.13节中,遇到了如下三行文字,是有关指向函数的指针的,把我搞晕了. char * fump(); //返回指向char的指针的函数 char (* ...

  4. C语言 第八章 函数、指针与宏

    一.函数 函数是一个包含完成一定功能的执行代码段.我们可以把函数看成一个"黑盒子", 你只要将数据送进去就能得到结果, 而函数内部究竟是如何工作的的, 外部程序是不知道的.外部程序 ...

  5. 12-返回指针的函数&&指向函数的指针

    前言 接下来我只讲指针的最常见用法,比如这一章的内容----返回指针的函数 与 指向函数的指针   一.返回指针的函数 指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的. 返回 ...

  6. 《征服 C 指针》摘录4:函数 与 指针

    一.指向函数的指针 函数名可以在表达式中被解读成“指向函数的指针”,因此,正如代码清单 2-2 的实验那样,写成 func 就可以取得指向函数的指针. “指向函数的指针”本质上也是指针(地址),所以可 ...

  7. 【C语言】14-返回指针的函数与指向函数的指针

    前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧.指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理.提升程序性能.关于指针的内容还非常多,比如 ...

  8. 指向函数的指针与iOS-Block相关知识

    指向函数的指针与iOS-Block相关知识 一. 函数指针的定义和调用: 关于函数指针的知识详细可参考:http://www.cnblogs.com/mjios/archive/2013/03/19/ ...

  9. Swift:函数和闭包

    函数 函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样有函数的参数和返回值,而且还支持嵌套,并且有函数参数默认值.可变参数等. //定义一个函数,注意参数和返回值,如果没 ...

  10. C++ 必知必会:条款16 指向成员函数的指针并非指针

    这一点与指向成员的指针类似,其实现可能更加复杂,因为成员函数同时还存在虚拟函数,需要动态绑定执行动作.当然这种属性是属于函数本身的,此处表达的是指针不涉及函数的属性问题. 1: class shape ...

随机推荐

  1. UESTC--1263--The Desire of Asuna(贪心)

    The Desire of Asuna Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu Su ...

  2. ROS命令参考

    前言:整理一些ROS常用命令,参考自:<ROS机器人编程>. 一.ROS执行命令 二.ROS信息命令 三.ROS catkin命令 四.ROS功能包命令 -END-

  3. 三种启动SQLSERVER服务的方法(启动sqlserver服务器,先要启动sqlserver服务)

    1.后台启动 计算机-管理-服务和应用程序 2.SQL SERVER配置管理器 3.在运行窗口中使用命令进行启动:

  4. HD-ACM算法专攻系列(17)——find your present (2)

    题目描述: 源码: #include"iostream" #include"string" using namespace std; bool IsFirstH ...

  5. SQL Server 忘记登录账号解决方法

    [1] 停止SQL Server 服务 和 SQL Server Agent 服务 [2] 以管理员身份打开命令行,单用户模式启动服务.(在单用户模式下启动 SQL Server 可使计算机本地 Ad ...

  6. [转]C#事件-使用事件需要的步骤

    事件是C#中另一高级概念,使用方法和委托相关.奥运会参加百米的田径运动员听到枪声,比赛立即进行.其中枪声是事件,而运动员比赛就是这个事件发生后的动作.不参加该项比赛的人对枪声没有反应. 从程序员的角度 ...

  7. 学习supervisor

    学习supervisor doc: http://supervisord.org http://lixcto.blog.51cto.com/4834175/1539136 命令 安装:pip inst ...

  8. GRpc-Go使用笔记

      linux下配置GRpc-golang 1.git中下载protobuf包 2.解压(/usr/local/protobuf) unzip protobuf-cpp-3.0.0-alpha-3.z ...

  9. php基础-----常量const和define的区别

    1.常量是一个简单的标识符,在脚本运行期间,值不可改变,默认大小写敏感. 答:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比def ...

  10. luoguP1390 公约数的和 数学推导_双倍经验

    Code: #include <bits/stdc++.h> #include <tr1/unordered_map> #define setIO(s) freopen(s&q ...