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

北京西站关键词seo优化排名公司

北京西站,关键词seo优化排名公司,承德市住房和城乡建设局官网,wordpress 展示模板下载Kotlin 是一门现代但已成熟的编程语言#xff0c;旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作#xff0c;并提供了多种方式在多个平台间复用代码#xff0c;以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio… Kotlin 是一门现代但已成熟的编程语言旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作并提供了多种方式在多个平台间复用代码以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functions 目录 引出hellofunction函数Infix Functions 中缀函数Operator Functions 算术函数变长参数vararg Parameters 变量kt中的null kt中的类泛型 Generics泛型函数Generic Functions 继承Inheritance超类Asiatic 总结 引出 1.kotlin初识 2.function函数变量null 3.泛型接口继承超类 hello package com.tianju.ktLearnfun main() { // 2println(Hello, World!) // 3 } function函数 返回值为Unit表示没有返回值, 类似与java里面的 voidUnit可以省略不写可以传两个参数参数带有默认值 package com.tianju.ktLearn// 返回值为Unit表示没有返回值, 类似与java里面的 void fun printMsg(msg: String): Unit {println(msg) }// Unit可以省略不写可以传两个参数参数带有默认值 fun printMsgWithPrefix(msg: String, prefix:String info) {println([wtt--$prefix] $msg) }fun sum(x: Int, y: Int): Int {return xy; }fun multiply(x: Int,y: Int) x*yfun main() {printMsg(Pet!)// 可以不传参带有默认参数的printMsgWithPrefix(Hello)printMsgWithPrefix(Hello,Peter)printMsgWithPrefix(prefix MMDD, msg HTTP)val sum sum(100, 300)println(sum)println(multiply(3,30)) }Infix Functions 中缀函数 具有单个参数的成员函数和扩展可以转换为中缀函数。 package com.tianju.ktLearn;// 具有单个参数的成员函数和扩展可以转换为中缀函数 fun main(){infix fun Int.times(str: String) str.repeat(this)println(2 times Hei!)// to 是标准库中的函数 kotlin.PairA, Bval pair WHTT to PPTSprintln(pair)// 自定义一个 onto 函数infix fun String.onto(str: String) Pair(this,str)val myPair MVC onto WWWprintln(myPair)val pet Person(peter,34)val Shi Person(Shirley,30)pet likes Shiprintln(pet.people[0]) }class Person(val name: String,val year: Int){val people mutableListOfPerson()infix fun likes(person: Person){people.add(person)}} Operator Functions 算术函数 Certain functions can be “upgraded” to operators, allowing their calls with the corresponding operator symbol. package com.tianju.ktLearn// 符号times 就是 下面的 乘号 * operator fun Int.times(str:String) str.repeat(this)fun main() {println(2 * Bye)val str Always forgive your enemies; nothing annoys them so much.operator fun String.get(range: IntRange) substring(range)println(str[0..14]) }变长参数vararg Parameters package com.tianju.ktLearnfun printAll(vararg msgs: String) {for (msg in msgs){println(msg)} }fun printWithPre(vararg msgs: String, prefix:String): Unit {for (msg in msgs) println([嘻嘻嘻--$prefix]$msg) }fun logs(vararg msgs:String){printAll(*msgs) }fun main() {printAll(pet,sh,wt)printWithPre(pet,sh,wt, prefix Hi)logs(sh,wtt,abc)}变量 Kotlin具有强大的类型推理能力。虽然你可以显式地声明变量的类型但你通常会让编译器通过推断来完成这项工作。Kotlin不强制执行不变性但建议这样做。本质上使用val而不是var。 val b: Int 1 // 2 val c 3 // 3声明一个不可变变量并对其进行初始化。 声明一个不可变变量并在不指定类型的情况下对其进行初始化。编译器推断类型Int。 kt中的null 在kt里面如果有一个可以为null需要在类型后面加上 问号 ?函数只能传入不为null的值参数类型后面加个 ? 问号后传入的值可以为null package com.tianju.ktLearnfun main() {var neverNull : String never Null// neverNull nullprintln(neverNull)// 在kt里面如果有一个可以为null需要在类型后面加上 问号 ?var nullable:String? can be nullnullable nullprintln(nullable)fun strLength(notNull:String ): Int {return notNull.length}// 函数只能传入不为null的值strLength(neverNull) // strLength(nullable) // 爆红val str descStr(null)println(str)println(descStr(hello are you ok?)) }/*** 返回值为String* 参数类型后面加个 ? 问号后传入的值可以为null*/ fun descStr(maybeStr: String?): String {if (maybeStr !null maybeStr.length0){return StrLength is ${maybeStr.length}}return null }kt中的类 在kt里面没有 new 关键字 泛型 Generics package com.tianju.ktLearn/*** 可以输入多个参数 vararg* E 泛型*/ class MutableStackE(vararg items: E) { // 1private val elements items.toMutableList()fun push(element: E) elements.add(element) // 2// 偷看一下fun peek(): E elements.last() // 3// 弹出栈顶元素fun pop(): E elements.removeAt(elements.size - 1)fun isEmpty() elements.isEmpty()fun size() elements.sizeoverride fun toString() MutableStack(${elements.joinToString()}) }fun main() {val mut MutableStackString(hello,pet)println(is mut empty?--- mut.isEmpty())print(mut)mut.push(wtt)println(mut)mut.peek()println(mut)val pop mut.pop()println(pop)println(mut)println(is mut empty?--- mut.isEmpty()) }泛型函数Generic Functions 如果函数的逻辑独立于特定类型则也可以生成函数。例如您可以编写一个实用程序函数来创建可变堆栈 继承Inheritance 超类Asiatic package com.tianju.ktLearn/*** open 关键字就表示是接口 interface*/ open class Dog{open fun fake(){println(wow wow !)} }class YourDog : Dog(){override fun fake() {println(miao wu ,wow)} }/*** 带参数的接口* interface with par*/ open class Cat(val name: String){fun sayHello(){println(A cat name is [$name] say hello)} }class Arya : Cat(Arya)/*** 超类 将构造函数参数传递给超类*/ open class Lion(val name:String,val age: Int){fun sayHello(){println(hi, every one, my name is $name, age is $age)} }/*** Asiatic声明中的name既不是var也不是val它是一个构造函数参数*/ class Asiatic(name: String) : Lion(name name, age 18)fun main() {val dog YourDog()dog.fake()val cat : Cat Arya()cat.sayHello()println(cat.name)val lion: Lion Asiatic(Peter)lion.sayHello() }总结 1.kotlin初识 2.function函数变量null 3.泛型接口继承超类
http://www.zqtcl.cn/news/508271/

相关文章:

  • 接网站 建设没有网站可以做seo排名吗
  • 抚顺网站seo建设网站需要支付什么插件费用吗
  • 东台做淘宝网站电子商务是学什么
  • 建一个购物网站多少钱wordpress托管在哪里
  • 怎么建设免费网站北京最大的火车站
  • 做视频网站被判刑豫建设标 网站
  • 济南网站建设济南wordpress计次查询
  • 做英文小工具网站赚钱商城网站是免费开吗
  • 做网站需要注意的问题seo推广代运营
  • 采购网站大全wordpress decorum
  • wordpress建站教程道一网页效果图素材
  • 广州网站开发哪家专业免费咨询怀孕医生
  • 洛阳网站的优化阿里云购买域名后怎么建网站
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢网站功能模块设计
  • 叫人做网站多少钱百度免费网站怎样建设
  • 本地南通网站建设新手编程入门先学什么
  • asp网站开发的背景与环境久久建筑网会员
  • 河北省住房建设厅官方网站个人计算机做服务器建网站
  • 上海自助建站费用页游网站
  • 浙江省住建厅网站沈阳网站建设专家
  • 基础建设文本网站施工企业在施工过程中发现设计文件和图纸有差错的应当
  • 做互联网交易网站的条件17网站一起做网店揭阳
  • 做公司网站合同asp.net sql server网站建设 pdf
  • 建筑兼职网站天津网站优化公司哪家好
  • 怎么做网站设计商城型网站开发网站建设
  • 建设网站目录帮别人做网站要投资吗
  • 网站meta 优化建议桥梁建设设计网站
  • 网站建设 甘肃wordpress rss去掉
  • 网站安全检测大连网龙建站优化推广
  • 人才网官方网站公众号排名优化软件