Swift基础-0006 【swift函数调用】
发布日期:2021-06-23 19:02:35
浏览次数:16
分类:技术文章
本文共 2679 字,大约阅读时间需要 8 分钟。
*swift函数调用
- swift函数调用
- swift函数嵌套
- swift函数多态
//: case5 函数调用import UIKitvar str = "Hello, playground"//带一个参数一个返回值函数func sayName(name:String) ->String{ var say = "my name is "+name return say}println(sayName("张三"))//多参数函数func mayArgs(name:String,old:Int) ->String{ return "my name is " + name + "old is \(old))"}println(mayArgs("李四",29))//无返回值无参数函数func method(){ println("world")}print("hello ")method()println()//多返回值函数//统计abc个数func manyArgs(name:String) ->(a:Int , b:Int , c:Int){ var A = 0 , B = 0, C = 0, D = 0 for str in name { switch String(str).lowercaseString { case "a": A++ case "b": B++ case "c": C++ default: D++ } } return (A,B,C)}let rt = manyArgs("basaaaae")println("base 这个字符串共含有\(rt.a)个a \(rt.b)个b \(rt.c)个C ")//扩展参数的两种用法func kuoArgs(name n:String,old o:Int) ->String{ return "名叫:" + n + " " + "年龄" + String(o)}let str2 = kuoArgs(name:"张三",old:22)println("\(str2)")//函数的默认参数值处理func defaultArgs(name n:String = "张三",old o:Int = 31 )->String{ return "name is " + n + " and old is" + String(o)}println(defaultArgs(name:"李四"))//如果只给了一个参数则未给出的参数使用默认值//可变参数 类似于Javafunc otherArgs(name:String , old:Int , other:String...)->String{ var rt2 = "name is " + name + " old is " + String(old) for str5 in other { rt2 += str5 } return rt2}let str3 = otherArgs("李四",21, " 男"," 未婚"," 身体健康")println(str3)//保留函数体内对传入参数的修改func case1(inout name:String , old:Int)->String{ name = "喵小喵" return "name is "+name+" old is " + String(old)}var name = "隔壁老王"println(case1(&name,21))println(name)//函数的多态var case2 :(inout String,Int)-> Stringvar case3 :(String,String...)->Stringfunc myCase2(inout name:String,old:Int)->String{ return "case2 \(name) \(String(old))"}func myCase3(var name:String,other:String...)->String{ var str9:String = "" for str0 in other { str9 += str0 } return name + str9}//初始化case2case2 = myCase2case3 = myCase3var name0 = "隔壁老王"println(case2(&name0 ,32))println(case3("你好","小明","你出去"))//函数调用func mycase4(case2:(inout String,Int)->String , str:String){ var name8 = "" println(case2(&name,40))}mycase4(case2,"hell0")//函数嵌套func myCase5(flag:Bool ,m:Int ,n:Int)->Int{ func method1()->Int{ return m+n} func method2()->Int{ return m-n} return flag ? method1() : method2()}println(myCase5(true,11,22))println(myCase5(false,22,44))
控制台打印
my name is 张三my name is 李四old is 29)hello worldbase 这个字符串共含有5个a 1个b 0个C 名叫:张三 年龄22name is 李四 and old is31name is 李四 old is 21 男 未婚 身体健康name is 喵小喵 old is 21喵小喵case2 隔壁老王 32你好小明你出去case2 喵小喵 4033-22
Author:ruanjianjiagou@163.com 欢迎交流
转载地址:https://blog.csdn.net/u014513456/article/details/45894985 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月06日 19时55分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
spring boot 与 Ant Design of Vue 实现新增角色(二十)
2019-04-27
spring boot 与 Ant Design of Vue 实现修改角色(二十一)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除角色(补二十一)
2019-04-27
spring boot 与 Ant Design of Vue 实现左侧组织树(二十三)
2019-04-27
spring boot 与 Ant Design of Vue 实现新增组织(二十四)
2019-04-27
spring boot 与 Ant Design of Vue 实现修改组织(二十五)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除组织(二十六)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除用户(三十)
2019-04-27
Druid连接池实现自定义场景的多数据库的连接
2019-04-27
CentOs7命令行(静默)的方式安装oracle数据库
2019-04-27
基于VMware安装CentOs7的镜像
2019-04-27
PL/SQL数据库管理工具的使用
2019-04-27
带你玩转属于自己的spring-boot-starter系列(一)
2019-04-27
带你玩转属于自己自己的spring-boot-starter系列(二)
2019-04-27
带你玩转属于自己的spring-boot-starter系列(三)
2019-04-27
基于SnowFlake算法如何让分库分表中不同的ID落在同一个库的算法的实现
2019-04-27