swift基础_swift函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift基础_swift函数相关的知识,希望对你有一定的参考价值。

第一次接触swift语言是在2014年年底,曾经的曾经ios开发是OC的主场,因为工作原因我也并没有花心思去整理一些相关文档,如今一线城市科技公司对开发潮流的追赶已经势不可挡,当再看swift语言,苹果对其语言的规范上已经有了很多改变,god!苹果公司这次是下了多大的决心?废话不多说,先说一下swift函数吧!

 

一  首先创建一个命令行的swift工程

action->

技术分享

enter->

技术分享

选择swift语言,这个大家都知道啦!!!

 

技术分享

看到紫色框框了吧,完了这就是我们swift的主函数,14年的默认的打印函数是println("hello world!"),还记得吧,但是随后被苹果rename成红色框框这个样子了,不变的是一句完整的语句结束不需要像OC一样添加";",当然了你添加了也不为错,接着为了讲明函数,我另外创建一个swift文件,如下:

技术分享

 

来到我们的FunctionTest.swift文件:

import Foundation

//函数以func开头,表示一个函数
//参数与参数之间,  分割
//v1 v2表示参数:String表示参数的类型
//->表示返回值是String类型
func testConcat(v1:String, v2:String)->String{
    return "\(v1) and \(v2)"
}
//标签是OC的优点,swift把OC里面的标签吸收过来
//testConcat2:andValue:andNummber
func testConcat2(v1:String, andValue v2:String, andNummber:Int)->String{
    return "\(v1) and \(v2) and \(andNummber)"
}
//参数0个,返回值是3个
func getInfo()->(String,String,String){
    return ("xzr","iOS","swift")
}
//函数嵌套函数,这点类似于lua脚本语言
func testFunctionInFunction()->Int{
    var y = 10;
    func add(){
//        var y = 1;//下面的y会选择最近作用域的变量,这个地方我打印的值是10,后续待看。。。
        y += 5;
    }
    add();
    return y;
}
//这个一个函数,返回值是(Int ->Int)
func getFuncPointer()-> (Int ->Int){
    func addOne(num:Int)->Int{
        return num + 1
    }
    //这里返回一个函数的地址
    return addOne;
}

func testFunction(){
    print("开始测试函数")
    let v = testConcat("hello",v2: "world");
    print("v is \(v)")
    
    //andValue:称为一个标签
    let v2 = testConcat2("xzr", andValue:"SwiftStudy",andNummber:100)
    print("v2 is \(v2)")
    
    let (v3,v4,v5) = getInfo()
    print("v3 \(v3) v4=\(v4) v5=\(v5)")
    
    let v6 = testFunctionInFunction()
    print("v6 = \(v6)")
    
    //函数指针
    let funcPointer = getFuncPointer();
    let v7 = funcPointer(99)
    print("v7 = \(v7)")
    
    //把函数地址/指针作为参数
    let arr = [20,10,30,3,59,5,60]
    let v8 = hasAnyMatch(arr, condition: lessThanTen)
    print("v8 = \(v8)")
}

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基础_swift函数的主要内容,如果未能解决你的问题,请参考以下文章

从使用 wkwebview 返回值的 javascript 调用 swift 函数

swift常用代码片段

swift 代码片段

Swift6-函数

swift基础_数据结构

如何将这个 Objective-C 代码片段写入 Swift?