Swift高级开发语言--函数
来源:互联网 发布:易趣网和淘宝网的不同 编辑:程序博客网 时间:2024/05/18 10:28
var str = "Hello, playground"// 函数// 语法格式//func name (参数列表)->返回值 {// 函数实现体//}//无参,无返回值func hello1() { print("hello1")}func hello2() -> Void { print("hello2")}// 函数调用hello1()// 有参// 1.关于内部参数名// 只在函数作用域内部使用的参数名func hello3Name(name:String, name2:String) { print("你好\(name) and \(name2)")}// 除了第一个参数,后面的参数在调用的时候会自动生成一个与内部参数名相同的外部参数名// 原则上,第一个参数的外部参数名应该写在函数名的末尾hello3Name("李云龙", name2: "楚云飞")func hello4Name (mingzi1 name:String, mingzi2 name2:String) { print("你好\(name) and \(name2)")}// 外部参数名的添加规则,在内部参数名前面声明中间用空格隔开hello4Name(mingzi1: "李云龙", mingzi2: "楚云飞")// 使用占位符_, 省略掉自动生成的外部参数名func hello5 (name:String, _ name2:String){ print("你好\(name) and \(name2)")}hello5("李云龙", "楚云飞")// 可以为参数赋初始值,调用时传参则更改,不传参使用初始值func hello6 (name:String = "李云龙", name2:String = "楚云飞"){ print("你好\(name) and \(name2)")}hello6()hello6(name2: "仝兴伟")// ***************关于参数 到此结束// 有返回值情况// 返回值直接给类型func byebye1() -> String { return "xiake"}byebye1()func byebye2(number1:String) -> (Int, Int) { var num1 = 0 var num2 = 0 for tempStr in number1.characters{ switch tempStr{ case "a", "e", "i", "o", "u": num1++ default: num2++ } } return (num1, num2)}byebye2("aasgfas")// 不确定参数个数, 参数个数可变func count1 (numbers:Int...) -> Int { var sum = 0 // 不确定个数的参数作为数组使用 for num in numbers { sum += num } return sum}count1(1,2,33,5,43,3)// 参数在函数体内是不可变的,用var修饰之后才可变func count3 (var a:Int, b:Int) -> Int { a = a + b return a}var c = 10c = count3(c, b: 0)c// inout 修饰参数,将外部变量的地址传进来,从而改变外部变量的值func changValue (inout a: Int) { a++}changValue(&c)c
0 0
- Swift高级开发语言--函数
- Swift高级开发语言--函数嵌套
- Swift高级开发语言基础
- Swift高级开发语言--枚举,继承,协议,扩展
- Swift高级开发语言--结构体,类,构造器,属性
- IOS开发语言Swift入门连载---函数
- swift语言-函数part1
- Swift 新语言开发
- 移动开发语言Swift
- CYC-Swift高级开发语言--结构体,类,构造器,属性
- swift 开发 - 常用函数
- Swift 必备开发库 (高级篇)
- Swift 必备开发库 (高级篇)
- Swift必备开发库(高级篇)
- Swift 必备开发库 (高级篇) 一
- Swift 笔记 七:swift函数的高级特性
- Swift语言学习2--函数
- swift开发语言中文文档
- 牛客网 | 用两个栈实现队列
- UVA_10566_CrossedLadders
- 一,开篇,一个完整的LibGDX小游戏
- 【信息安全知识】计算机病毒和木马
- HDFS应用
- Swift高级开发语言--函数
- Promise的前世今生和妙用技巧
- [Leetcode]Triangle
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- Java-session过期后,拦截器拦截后页面跳不出iframe框架问题
- 字符串的包含
- POJ 1861 Network Krusakl模板题 最小生成树
- android底层开发-android基础架构
- IntelliJ IDEA及 tomcat 关于项目本地部署和远程部署的相关讨论