当前位置: 首页 > news >正文

网站 设计理念昆明公司网站建设

网站 设计理念,昆明公司网站建设,wordpress实现分页,有没有专门做印刷图的网站函数使用 基本用法 函数声明变化 如果函数是公开的#xff0c;则public关键字可以省略。用fun关键字表示函数的定义。如果函数没有返回值可以不用声明。如果函数表示重载#xff0c;直接在fun同一行用override修饰。函数参数格式是变量名#xff1a;变量类型。函数参数允…函数使用 基本用法 函数声明变化 如果函数是公开的则public关键字可以省略。用fun关键字表示函数的定义。如果函数没有返回值可以不用声明。如果函数表示重载直接在fun同一行用override修饰。函数参数格式是变量名变量类型。函数参数允许空值则在后面加上?。 /*** 1、公共方法 public可以省略* 2、fun关键字表示函数定义* 3、test 方法名* 4、返回值在()后面:Unit没有返回值可以省略不写*/ fun test(){println(没有入参没有返回值的函数) }fun test():Unit{println(没有入参没有返回值的函数) }//无参函数调用test()//没有入参没有返回值的函数入参格式 参数格式变量名变量类型允许变量为空格式变量名变量类型 /*** 1、参数声明格式变量变量类型* param name 名字* param price 价格*/ fun test1(name:String,price:Int){println(${name}买了一个${price}元的鸡蛋) }//有参函数调用test1(张三,10)//张三买了一个10元的鸡蛋/*** 1、如果参数运行为空在变量类型后面加上?* param name 名字* param price 价格*/ fun test1(name:String?,price:Int){if(name ! null){println(${name}买了一个${price}元的鸡蛋)} }返回格式 如果有返回值需要在()后面加上返回值类型格式:返回值类型可以理解成跟变量定义一样。如果没有返回值可以不用写默认也会返回一个Unit类型对象。返回值也是在方法体里用return返回。 /*** 1、有返回值需要在()后面加上【返回值类型】* 2、方法体需要通过return 返回对应类型的数据* param name 名字* param price 价格*/ fun test2(name:String,price:Int):String{println(${name}买了一个${price}元的鸡蛋)return ${name}买到鸡蛋了 }//有返回值的函数调用var str test2(李四,1)//李四买了一个1元的鸡蛋println(str)//李四买到鸡蛋了入参参数的变化 参数默认值 函数入参参数可以指定默认值格式变量名变量类型 默认值 /*** 1、参数可以指定默认值* 2、格式变量类型默认值* param mountain*/ fun test(mountain:String,first:String东岳泰山, second:String西岳华山, third:String南岳衡山, fourth:String北岳恒山,five:String中岳嵩山){println(${mountain}是$first,$second,$third,$fourth,$five) }//参数指定默认值调用的时候可以不用再写test(中国五岳)//中国五岳是东岳泰山,西岳华山,南岳衡山,北岳恒山,中岳嵩山//调用的时候修改默认值第一个默认参数可以直接修改test(中国五岳,泰山)//中国五岳是泰山,西岳华山,南岳衡山,北岳恒山,中岳嵩山指定参数的默认值 如果在函数调用的时候只想改某个参数的默认值可以通过变量名进行指定。 //如果修改的不是第一个有默认值的参数需要通过变量名指定test(中国五岳, second 华山)//中国五岳是东岳泰山,华山,南岳衡山,北岳恒山,中岳嵩山可变参数 kotlin中可变参数是用关键字vararg进行修饰。格式vararg 变量名变量类型。函数在解析的时候会将可变参数转化成数组可通过数组形式进行访问。 /*** 1、参数可用可变参数用关键字vararg说明* 2、格式vararg 参数变量名:类型* 3、kotlin在解析的时候会把可变参数解析成数组* param mountain*/ fun test1(mountain:String,vararg strArray:String){var str for (item in strArray){str $item }println(${mountain}是$str) }test1(中国五岳, 东岳泰山,西岳华山,南岳衡山,北岳恒山,中岳嵩山)//中国五岳是东岳泰山 西岳华山 南岳衡山 北岳恒山 中岳嵩山特殊函数 泛型函数 定义泛型函数时得在函数名称前面添加“”表示以T声明的参数包括输入参数和输出参数其参数类型必须在函数调用时指定。调用格式函数名称具体类型。 /*** 泛型函数T T表示泛型*/ fun T test(tag:String,vararg array:T){var str:String $tag:for (item in array){str $str${item.toString()} }println(str)//中国五岳:东岳泰山 西岳华山 南岳衡山 北岳恒山 中岳嵩山 }testString(中国五岳,东岳泰山,西岳华山,南岳衡山,北岳恒山,中岳嵩山)testInt(10以内的偶数,2,4,6,8,10)//10以内的偶数:2 4 6 8 10内联函数 内联函数在编译的时候被内联展开即将函数体直接插入到调用该函数的地方。内联函数主要用于消除函数调用的开销特别是对于那些小而频繁调用的函数非常有用。内联函数还可以用于实现一些高级特性如非局部返回和重尾递归优化。用关键字inline表示内联函数。 /*** 内联函数 用关键字inline* 在调用处将函数体直接插入*/ inline fun T setNumber(number: T){println(number) }setNumber(1)setNumber(张三)函数简化 函数有返回值定义可以当初特殊的变量变量可以通过进行赋值所以对于函数体是比较简单的可以通过直接赋值给函数。 fun compare(a:Int,b:Int):Int{if(a b){return a} else {return b} }/*** 函数有返回值定义可以当初特殊的变量变量可以通过进行赋值* 所以对于函数体是比较简单的可以通过直接赋值给函数*/ fun compare1(a:Int,b:Int) if(a b) a else bfun factorial(n:Int):Int {if (n 1) return nelse return n*factorial(n-1) }fun factorial1(n:Int) if (n 1) n else n*factorial(n-1)println(compare1(1,3))//3println(factorial1(3))//6尾递归函数 尾递归Tail Recursion是一种递归形式其中递归调用是函数执行的最后一步。通过关键字tailrec修饰。尾递归优化是一种编译器优化技术可以将尾递归调用转换为循环从而避免栈溢出并提高性能。 /*** 尾递归函数用tailrec进行修饰*/ tailrec fun tailRecursiveFactorial(n: Int, accumulator: Int 1):Int{if(n 1){return accumulator} else {return tailRecursiveFactorial(n-1,n*accumulator)} }println(tailRecursiveFactorial(3))//6高阶函数 高阶函数Higher-Order Function是指一个函数它可以接收另一个函数作为参数或者返回一个函数作为结果。高阶函数提供了一种非常灵活和强大的方式来处理函数逻辑使得代码更加模块化和可重用。 接收函数作为参数 高阶函数可以接收一个或多个函数类型的参数。 格式函数名称:(参数)-函数返回值 /*** 函数A作为函数B的参数* operation:(Int,Int) - Int* operation是函数A的名称* (Int,Int)是函数A的参数* - Int是函数A的返回值类型*/ fun applyOperation(x:Int,y:Int,operation:(Int,Int) - Int):Int{return operation(x,y) }//{ a, b - a b } 表示参数函数A的参数和函数体用-隔开var result applyOperation(2,3) { a, b - a b }println(result)//5var result1 applyOperation(2,3) { a, b - a * b }println(result1)//6返回函数作为结果 高阶函数可以返回一个函数类型的结果。 格式在高阶函数后面:(参数)-返回值类型 /*** 函数A作为函数B的返回值* :(Int,Int)-Int* (Int,Int)是函数A的参数* -Int 函数A的返回值*/ fun functionB(a:Int):(Int,Int)-Int{return when(a){1 - {b,c - bc}2 - {b,c - b-c}3 - {b,c - b*c}else - {b,c - b/c}} }//返回函数var functionA functionB(1)println(functionA(3,5))//8functionA functionB(2)println(functionA(3,5))//-2标准库中的高阶函数 Kotlin 标准库中有许多高阶函数比如 let、run、apply、also、filter、map 等。这些函数极大地简化了集合操作和其他常见编程任务。 val numbers listOf(1, 2, 3, 4, 5) val doubled numbers.map { it * 2 } println(doubled) // 输出: [2, 4, 6, 8, 10]扩展函数 扩展函数Extension Function是一种特殊类型的函数它可以为现有的类添加新的成员函数而无需使用继承或修改原有类的源代码。这种功能是通过静态成员函数的语法糖来实现的尽管在底层实现上它们并不是真正的类成员方法。 定义扩展函数使用receiverType.functionName的语法进行定义其中receiverType是你要扩展的类名functionName是你想要添加的函数名。函数体内部可以通过this关键字来引用接收者对象即receiverType的实例。 /*** 扩展函数格式原有类.扩展函数的名称* 对系统Array类增加交换扩展函数*/ fun T ArrayT.swap(pos1:Int,pos2:Int){val temp this[pos1]this[pos1] this[pos2]this[pos2] temp }val intArray arrayOf(1,2,3,4,5)//扩展函数调用跟普通函数一样intArray.swap(1,2)
http://www.zqtcl.cn/news/151635/

相关文章:

  • 做网站用什么系统建设网站投资多少
  • 凡科建站官网 网络服务抚顺 网站建设
  • 学校网站的建设方案西安企业seo外包服务公司
  • 建设租车网站深圳ww
  • 推广网络网站潜江资讯网一手机版
  • 凡科网站自己如何做毕设 做网站
  • 一起做网站逛市场百度权重查询网站
  • 专业网站优化推广网站核查怎么抽查
  • 牡丹江站salong wordpress
  • 网站建设公司做网站要多少费用有哪些外国网站国内可以登录的
  • 天津建站平台网页制作免费的素材网站
  • 建设网站需要专业哪个企业提供电子商务网站建设外包
  • 公司网站建设及维护网站建设思维
  • 那个网站可以学做西餐17做网站广州沙河
  • 品牌网站建设哪里好京东网站建设案例
  • 亚马逊海外版网站深圳市工商注册信息查询网站
  • 新乐做网站优化网站上漂亮的甘特图是怎么做的
  • 新网站应该怎么做seo品牌推广方案思维导图
  • 想要网站导航推广页浅谈中兴电子商务网站建设
  • 免费引流在线推广成都网站优化费用
  • 老河口市网站佛山市点精网络科技有限公司
  • word模板免费网站seo引擎优化是做什么的
  • 办网站怎么赚钱鄠邑建站 网站建设
  • 宜春网站建设推广微信小程序开发
  • 巴南城乡建设网站免费网站建设软件大全
  • 湖南网站建设公公司没有自己的网站
  • 刚建设的网站如何推广网站恢复正常
  • 怎么做制作网站的教程永久免费空间免备案
  • 网站维护运营怎么做简单的手机网址大全
  • 网站建设规划设计公司排名使用模块化的网站