初学 Swift (实现加减乘除功能和函数的基本类型)

//计算器: 回调 

typealias count  = ( Int  , Int  ) -> Int

func add(a :Int ,b :Int) ->Int {

    return a+b

}
func  delete(a :Int ,b :Int) ->Int {

    return a-b

}
func cheng(a :Int ,b :Int) ->Int {

    return a*b

}
func dev(a :Int ,b :Int) ->Int {

    return a/b

}

func abc (fun : count, x : Int , y: Int) -> Int {

return fun(x,y)

}
//var  f :count =add
print(abc(add, x: 2, y: 3))
print(abc(delete, x: 2, y: 3))
print(abc(cheng, x: 2, y: 3))
print(abc(dev, x: 2, y: 3))
//MARK:
//MARK: ////////8.函数///////

//c语言 函数类型 :1,无返回值,无参数 2,有返回值,无参数 3,无返回值,有参数,4,有返回值,有参数;

//函数 是用来完成特定任务的代码块 ,你给代码块起名字,用来作为标示,当需要执行这个代码块的时候,就调用这个名字;

//1.无返回值 ,无参数
func fun1() -> Void{
 print("无返回值,无参数")

}

//2.有返回值,无参数 ;
func fun2() -> String
{
return "lzy"

}
//3,无返回值,有参数
func fun3(a: Int , b : Int) -> Void
{
print(a+b)

}
//4 ,有返回值,有参数;用a: 调用 float 类型的函数
func fun4(a :Int, b:Float)-> Float{
return   Float(a)+b

}
//调用函数
fun1()
print( fun2() )

fun3(3, b: 5) //没有返回值 ;

print(  fun4(3, b: 5) )  //有返回值;

 // 5 .多个返回值 的函数
func fun5(a :Int ,b :Int ) -> (Int ,Float){

return (a , Float(b))

}
print(fun5(3, b: 5))

let (first ,second) = fun5(3, b: 5)

print(first)
print(second)

print(fun5(3, b: 5).0)

print(fun5(3, b: 5).1)  //

func fun6(name name : String ,age : Int){
print("name is \(name), age  = \(age)")
}
fun6(name: "lzy", age: 21)

//交换两个数的值
func fun7(inout  a :Int ,inout b :Int) -> Void{
    a  =  a ^ b ;
    b =  a ^ b ;
    a =  a ^ b  ;

}
var   x : Int  = 5 ;
var    y : Int   =  10 ;
fun7(&x, b: &y)
print("x = \(x) ,y = \(y)")

//函数指针
typealias  swapFunc = (inout Int ,inout Int ) ->Void

var  p_fun :swapFunc  =  fun7

p_fun(&x, &y)
print("x = \(x) ,y = \(y)")

//函数指针 作为参数 ;

func fun8(pfun : swapFunc , inout a : Int ,inout b : Int){

pfun(&a, &b)

}

fun8(p_fun, a: &x, b: &y)
print("x = \(x) ,y = \(y)")

// 函数指针作为 返回值
func fun9() -> swapFunc{
//在函数体 里面定义的 ;
    let p_func : swapFunc  = fun7
    return p_func

}
fun9()(&x ,&y)
print("x = \(x), y =\(y)")

我认为未来苹果公司的主流语言是 swift,这估计到2020年啦.到时候我也有5年学习经验啦.

时间: 2024-10-06 10:36:21

初学 Swift (实现加减乘除功能和函数的基本类型)的相关文章

初学swift笔记 函数(六)

1 import Foundation 2 /* 3 func 函数名 (参数名:参数类型) { 4 5 } 6 func 函数名 (参数名:参数类型) ->Void{ 7 8 } 9 func 函数名 (参数名:参数类型) ->返回类型{ 10 11 } 12 */ 13 func show_Array(tempArray: [Int]){ 14 for a in tempArray { 15 println("\(a)") 16 } 17 18 } 19 func sh

Swift 中的高阶函数和函数嵌套

高阶函数 在Swift中,函数可做为"一等公民"的存在,也就意味着,我们可以和使用 int 以及 String 一样,将函数当做 参数.值.类型来使用. 其中,将函数当作一个参数和值来使用可见下: typealias addTwoInts = (Int,Int)->(Int) var funcType = addTwoInts.self func aAddb(a:Int,b:Int) -> Int { return a+b } func addFunc(_ add:addT

Swift 中的利刃,函数和闭包

input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,input[type="time"].input-sm,.form-horizontal .form-group-sm input

Swift语法基础入门三(函数, 闭包)

Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: func 函数名称(参数名:参数类型, 参数名:参数类型...) -> 函数返回值 { 函数实现部分 } 没有参数没有返回值 可以写为 ->Void 可以写为 ->() 可以省略 Void.它其实是一个空的元组(tuple),没有任何元素,可以写成() func say() -> V

iOS开发Swift篇—(八)函数(2)

iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1: Int, num2: Int) -> Int { 2 return num1 + num2 3 } sum函数的函数类型是(Int, Int) -> Int 1 func printLine() 2 { 3 println("-----------") 4 } printLine

Swift过程控制和功能

流量控制(Control Flow) For周期 for骑自行车和C语言,OC用法很相似,平时for()和 for in两种. 遍历可以使用下划线"_"略对值的訪问等. Switch switch在Swift中则显得灵活的多.只是须要注意的是.不同于C语言,Swift中的Switch不存在隐式的贯穿.每一个case里的表达式后面不须要写break则会自己主动跳出. 假设你想保留这次匹配并向下匹配的话,请使用fallthroughkeyword. 每一个case里必需要有表达式,每一个s

Swift的流程控制和函数

流程控制(Control Flow) For循环 for循环和C语言,OC用法很相像,通常有for()和 for in两种. 遍历时可以利用下划线"_"忽略对值的访问等. Switch switch在Swift中则显得灵活的多,不过需要注意的是,不同于C语言,Swift中的Switch不存在隐式的贯穿,每个case里的表达式后面不需要写break则会自动跳出. 如果你想保留这次匹配并向下匹配的话,请使用fallthrough关键字. 每个case里必须要有表达式,每个switch也必须

【Swift】学习笔记(六)——函数

函数  懂编程语言的来说这个是最主要的了,不论什么语言都有函数这个概念.函数就是完毕特定任务的独立代码块. 函数怎么创建: 1.创建一个无參无返回值的函数(实际上全部的函数都有返回值,这个函数返回void,它是一个空元组) func testFunc(){ } 2.创建一个带返回值的函数 func testFunc() -> String{ return "hello" } 3.创建一个带參数和返回值的函数 func testFunc(name: String) -> St

简单的自动化运维工具(shell+except+whiptail+功能模块化函数+循环)

简单的自动化运维工具(shell+except+whiptail+功能模块化函数+循环) http://www.cnblogs.com/M18-BlankBox/p/5881700.html