加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift开篇003->控制流、函数

发布时间:2020-12-14 06:58:04 所属栏目:百科 来源:网络整理
导读:PART_A 控制流 for for ... in for index in 1 ... 5 { print(index)} let names = [ "cat" , "dog" , "fish" ] for name in names { print (name)} let nums = [ "num1" : 1 , "num2" : 2 , "num3" : 3 ] for (num,count) in nums { print( "(num) is (co

PART_A 控制流

  • for

    • for ... in

      for index in 1 ... 5 {
          print(index)
      }
      let names = ["cat","dog","fish"]
      for name in names {
          print(name)
      }
      let nums = ["num1" : 1,"num2" : 2,"num3" : 3]
      for (num,count) in nums {
          print("(num) is (count)")
      }
      // 无序
    • 普通for

      for var x = 1(①); x <= 5(②); x++(④) {
          print(x)(③)
      }
      // 标注为执行顺序
  • while

    • 普通while

      var num = 1
      while num <= 5 {
          print(num++)
      }
    • repeat ... while

      var num = 1
      repeat {
          print(num++)
      } while num <= 5
  • if

    • if

    • if ... else

    • if ... else if ... else

  • switch-case

    • 每一个case后面必须包含语句,否则编译错误

    • case默认不用 break 来结束switch选择

    • case可用 , 来包含多个条件

    • case中可包含区间 .....<..>

    • case中可包含元组 case (_,0),其中 _ 代表所有可能的值

    • case分支可进行值绑定:case (let x,0)

    • case中可用 where 语句来判断额外的条件:case let (x,y) where x == y

      let today = "Monday"
      switch today {
      case "Monday":
          print("today is Monday")
      case "Tuesday":
          print("today is Tuesday")
      case "Wednesday":
          print("today is Wednesday")
      
      case "Thursday","Friday":
          print("Don't put")
      default:
          print("404")
      }
      // today is Monday
  • 控制转移语句

    • continue:结束当前循环,进行下一次循环(如在for中)

    • break:直接跳至循环体结束 }

    • fallthrough:switch中如要贯穿就在case最后加上该句

    • 带标签的语句labelName : while condition,能明确多嵌套的循环体

    • guard:提前退出

    • return:结束/返回值

    • throw:抛异常

  • 检测 API 可用性

    if #available(iOS 9,OSX 10.10,watchOS 9.7,*) {
        //
    } else {
        //
    }

PART_B 函数

  • 函数定义与调用

    • 定义

      // func 函数名(参数名 : 参数类型) -> 返回值类型
      func test(name : String) -> String {
          return "hello " + name
      }
    • 调用:print(test("catface"))

  • 函数参数与返回值

    • 无参:func test() -> String

    • 多参:func test(str1 : String,falg : Bool) -> String

    • 无返回值:func test(str1 : String)

    • 多重返回值:通过元组返回

    • 可选元组返回类型:func test(arr : [Int]) -> (min : Int,max : Int)?

      func test(arr : [Int]) -> (min : Int,max : Int) {
          var currentMin = arr[0],currentMax = arr[0]
          for value in arr[0] ... arr.count {
              if value > currentMax {
                  currentMax = value
              } else if value < currentMin {
                  currentMin = value
              }
          }
          return (currentMin,currentMax)
      }
    • 默认参数值:func test(num : Int = 12)

    • 可变参数:func test(nums : Double...) -> Double


以上。如有错误和疑问,欢迎指正提出。 catface.wyh@gmail.com

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读