zoukankan      html  css  js  c++  java
  • swift入门篇-函数

    今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点。废话不多说,直接开始了。

    1:函数  --常量参数

      func  函数名( 参数变量:类型 ,参数变量:类型...){}
        说明: 
            1: func 是函数关键字
    2:{} 函数体 3
    : 参数变量是默认常量类型,不能在函数函数体里面直接修改
    即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量。

    例子

    /*
    1: func 函数关键字
    2:两个参数变量  value 和value1都是常量 不能修改
    3:SayHello("hello","swift") 调用函数的方法
    */
    
    func  SayHello(value :String,value1:String){
        var str = value + " " +  value1
        println(str)
    }
    
    SayHello("hello","swift")
    
    运行结果
    
    hello swift
    
    注意点:
    ----------------------错误写法--------------
    func  SayHello(value :String,value1:String){
       value = "AA" //错误写法 在函数中参数变量默认是常量类型不能修改
    }

    2:函数  --变量参数

      func 函数名( var  参数变量 : 类型,... ) {}
        说明 
          1: func 函数关键字
          2: var 参数变量 :类型   表示参数变量是可变变量,不是常量,可以任意修改

    例子

    func  SayHello(var value :String){
        value = "AA" //value  是被var 修改,value是可变变量
       println(value)
    }
    
    SayHello("hello")
    
    运行结果
    AA

    3:函数 --参数默认值

    func  函数名(参数值 :类型=默认值){}
        说明 
    1:func是函数的关键字
    2:如果参数值,不赋值,参数值就采用默认值

    例子

    func SayHello(value:String = "AA"){
        println("value=(value)")
    }
    
    SayHello(value:"10") //带参数
    SayHello()//不带参赛
    
    运行结果
    value=10
    value=AA

     三:函数 --可变参数

        func 函数名(参数名 类型...){}
        说明 :
         参数名 类型... 说明   该参数可以接触N个参数。

    例子

    func SayHello(values :Double...){
        for temp in values{
            println("temp=(temp)")
        }
        
    }
    
    SayHello(1.1,1.2,1.3)
    
    运行结果
    temp=1.1
    temp=1.2
    temp=1.3

    4:函数 --外部参数名

     func  函数名 (参数变量:类型 ,参数说明  参数变量:类型)
      说明: 
         1:函数中的第一个不需要参数说明
         2:参数说明 + 参数名 : 类型 ,构成一个参数
         调用方法
          函数名(参数值,参数说明:参数值,参数说明:参数值....)

    例子

    // joinStr value1 : String 是一个参数
    
    func SayHello(value : String, joinStr value1 : String){
        var  str = value + value1
        println("str= (str)")
    }
    
    SayHello ("hello ",joinStr:"Swift")
    
    运行结果
    str=hello Swift

    5:函数 输入输出参数

    func 函数名(inout 函数变量 类型)
    
        说明:
         inout 修辞的变量 函数内部可以直接修改,其外部可以获取到 

    例子:

    func SayHello (inout value:String){
        value = "Hello Swift"
    }
    
    var str = "hello"
    SayHello(&str)  //此时传递 字符串的地址
    println(str)
    
    运行结果
    Hello Swift

    6:函数返回值 --元组

    /*
     func 函数名 ( 参数变量 : 类型 ,参数说明  参数变量 :类型)-> 类型
    
    1:func 函数关键字
    2: ->类型 ,返回类型
    */

    例子

    //------------------------返回 元组
    func SayHello(value:String ,nums Value1:String)->(String,String){
        
        return (value,Value1)
    }
    
    var (A,B)=SayHello("hello",nums:"swift")
    
    println("A=(A),B=(B)")

    运行结果

      A=hello,B=swift

    7:函数返回值 ---函数

    // 自加函数
    func  Add(num : Int)->Int{
        return num + 1
    }
    //自减函数
    
    func zj(num : Int)->Int{
        
        return num - 1
    }
    
    
    //定义返回函数类型
    
    func  SayHello(num:Bool)->(Int)->Int{ //其中 (Int)->Int 返回参数为整形,返回值为整形的函数
        
        return num ? Add : zj
    }
    
    
    var num = 10
    
    var fun:(Int)->Int = SayHello(num > 5);
    
    num = fun(num)
    
    println("num=(num)")
    
    运行结果
    
    num=11

     后面的文章,我回陆续把我学习到swift语言的知识写出来形成一个系列。由于是新语言,难免有不足,欢迎给我提出意见。也可以加我QQ 1436051108一起讨论,如果您有什么问题,也可以直接在QQ留言发给我,我看到之后第一时间回复您

      最后总结一下。送上一直思维导图,作为文章的结束

     

  • 相关阅读:
    转发和重定向的区别
    关于Daydream VR的最直白的介绍
    Duplicate Protocol Definition of DTService Is Ignored
    automatically select architectures
    java
    初识反射
    java网络编程
    Map接口
    Set,List
    正则表达式
  • 原文地址:https://www.cnblogs.com/gcb999/p/3794625.html
Copyright © 2011-2022 走看看