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
}

总结:稍后完善。。。

时间: 2024-10-07 19:22:29

swift基础_swift函数的相关文章

Swift基础之函数定义

1. 方式和之前一样 2. 代码 1 // 2 // ViewController.swift 3 // SwiftLesson3 4 // 5 // Created by 薛雨仑 on 14-10-2. 6 // Copyright (c) 2014年 Dylan. All rights reserved. 7 // 8 9 import UIKit 10 11 class ViewController: UIViewController { 12 13 override func viewD

swift基础:第五部分:函数与闭包(补充)

由于时间关系,我就不打算再聊天了,直接进入正题吧. 在OC中,匿名函数就是block,也称为代码块,那么在swift中,匿名函数我们称之为“闭包”.函数实际上是一种特殊的闭包,你可以使用{}来创建一个匿名闭包.使用in来分割参数并返回类型.来看看在swift中匿名函数是怎么x写的. (1)语法结构: {(参数列表)->返回值类型 in 代码段} (2)举例说明 (2-1)  let block = {(str:String)->String in str } block("asdfg

3.Swift基础知识

Swift是用来开发iOS和OS X应用的新语言,但是许多地方用起来跟C或者OC是差不多的. Swift提供了C语言和OC的基本数据类型,比如整型用Int,浮点型用Double或者Float,布尔型用Bool,字符串文本用String,Swift还提供了两种集合类型,Array和Dictionary,后面会介绍. Swift也跟C一样用唯一的变量名来存储与使用数据,还能使用一些值不会变的变量,应该说是常量,比C里面的常量要强大.在涉及到一些值不会发生变化的数据时使用常量类型能让代码更安全整洁.

Swift基础语法(常量变量、数据类型、元组、可选、断言等)

Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Sw

Swift学习之函数和简单地控件的创建

 今天还是重复昨天做的事情--敲代码,但唯一的不同就是所学的知识不同了,我们又进一步往深得层次学习了,感觉越来越有意思了,虽然临近结束了看着大家积极性越来越低了,但是我知道我不能这样,我要比别人付出的更多,更加的踏实才行,因为我知道我的基础不如别人,目标和动力也和他们不同,看着大家有的说是只要找到工作就好,还有的说只要每个月够花就好,担着真的是大家来这里学习的最终目的吗,如果是这样,真的还不如随便找个工作将就一下,也比这个整天做到这好多了,还交了那么贵得费用,所以何必呢,既然选择了这条路,既然当

Swift 学习笔记 (函数)

函数 函数是一个独立的代码块,用来执行特定的任务.Swift中的函数与Object-C中的函数一样,但是声明与书写的方式不太一样,现在我们就通过几个例子介绍一下Swift中的函数.简单的来说,他与JS中的函数声明有些相像,但是如果有返回值的时候,他们返回值的书写方式又有不同. 先来说一个简单的例子 //greet 函数的名称 //personName:函数的形式参数,可以为多个 用逗号隔开 //->String 函数的返回值类型 如果没有可以不写 func greet(personName:St

Swift学习——Swift基础详解(八)

Assertions    断言 可选可以让你判断值是否存在,你可以在代码中优雅地处理值缺失的情况.然而,在某些情况下,如果值缺失或者值并不满足特定的条件,你的代码可能并不需要继续执行.这时,你可以在你的代码中触发一个断言(assertion)来结束代码运行并通过调试来找到值缺失的原因. Debugging with Assertions    使用断言进行调试 断言会在运行时判断一个逻辑条件是否为true.从字面意思来说,断言"断言"一个条件是否为真.你可以使用断言来保证在运行其他代

Swift学习——Swift基础详解(六)

Optionals    选配 选配(好像不是这么翻译的)适用于那些值可能为空的情况,一个选配有两种情况:存在值并且等于x,或者值不存在. 选配的概念在OC和C里面并没有,在OC中最接近的概念就是:OC中的返回值为对象的函数,当对象不存在的时候,可以返回nil,但是nil只能代表对象,不可以代表基础类型或者结构体和枚举类型.OC中使用NSNotFound表示值不存在.在Swift中,不需要使用其他的类型表示不存在的值. 举个例子: 在Swift中,String类型有一个方法叫做toInt,但是并

Swift基础语法学习总结(转)

Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘