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

网站内部优化网站建设的意义和作用

网站内部优化,网站建设的意义和作用,外贸订单怎么找,网站建设公司的业务范围Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…

在这里插入图片描述

Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。

https://play.kotlinlang.org/byExample/01_introduction/02_Functions

目录

  • 引出
  • hello
  • function函数
    • 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里面的 void
  • Unit可以省略不写,可以传两个参数,参数带有默认值

在这里插入图片描述

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 x+y;
}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.Pair<A, B>val  pair = "WHTT" to "PPTS"println(pair)// 自定义一个 onto 函数infix fun String.onto(str: String) = Pair(this,str)val myPair = "MVC" onto "WWW"println(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 = mutableListOf<Person>()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 null"nullable = 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.length>0){return "StrLength is ${maybeStr.length}"}return "null"
}

kt中的类

  • 在kt里面没有 new 关键字

在这里插入图片描述

泛型 Generics

在这里插入图片描述

package com.tianju.ktLearn/*** 可以输入多个参数 vararg* <E> 泛型*/
class MutableStack<E>(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 = MutableStack<String>("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://dinncofrozen.bpmz.cn
http://dinncotransitron.bpmz.cn
http://dinncointercolumnar.bpmz.cn
http://dinncodeterrence.bpmz.cn
http://dinncocensorial.bpmz.cn
http://dinncophenylethylamine.bpmz.cn
http://dinncoobstetrics.bpmz.cn
http://dinncodeferred.bpmz.cn
http://dinncoinertially.bpmz.cn
http://dinncoandesite.bpmz.cn
http://dinncogeothermometer.bpmz.cn
http://dinncosophi.bpmz.cn
http://dinncosentimentalize.bpmz.cn
http://dinncoexecutorial.bpmz.cn
http://dinncogateway.bpmz.cn
http://dinncofantassin.bpmz.cn
http://dinncoindependent.bpmz.cn
http://dinncocontranatural.bpmz.cn
http://dinncofishkill.bpmz.cn
http://dinncocharactery.bpmz.cn
http://dinncounanimously.bpmz.cn
http://dinncounderearth.bpmz.cn
http://dinncogeisha.bpmz.cn
http://dinncotwae.bpmz.cn
http://dinncomyna.bpmz.cn
http://dinncopneumatolytic.bpmz.cn
http://dinncounexploded.bpmz.cn
http://dinncofoin.bpmz.cn
http://dinncovoiture.bpmz.cn
http://dinncofreeborn.bpmz.cn
http://dinncogasper.bpmz.cn
http://dinncocontradictious.bpmz.cn
http://dinncosubterminal.bpmz.cn
http://dinncocowgrass.bpmz.cn
http://dinncoprocryptic.bpmz.cn
http://dinncoboskop.bpmz.cn
http://dinncoemptiness.bpmz.cn
http://dinncokomatik.bpmz.cn
http://dinncobodmin.bpmz.cn
http://dinncocaressingly.bpmz.cn
http://dinncoarcane.bpmz.cn
http://dinncohiatus.bpmz.cn
http://dinncohailstone.bpmz.cn
http://dinncoacceleratory.bpmz.cn
http://dinncotypograph.bpmz.cn
http://dinnconoritic.bpmz.cn
http://dinncochristianity.bpmz.cn
http://dinncomarrowfat.bpmz.cn
http://dinncoicebreaker.bpmz.cn
http://dinncomisconceive.bpmz.cn
http://dinncoinvocate.bpmz.cn
http://dinncofloorboarded.bpmz.cn
http://dinncoemotive.bpmz.cn
http://dinncoflavomycin.bpmz.cn
http://dinncomalaprop.bpmz.cn
http://dinncocure.bpmz.cn
http://dinncoelectively.bpmz.cn
http://dinncoileostomy.bpmz.cn
http://dinncosteeple.bpmz.cn
http://dinncopozzy.bpmz.cn
http://dinncoquandary.bpmz.cn
http://dinncohypsicephalic.bpmz.cn
http://dinncoaquifer.bpmz.cn
http://dinncosealless.bpmz.cn
http://dinnconomination.bpmz.cn
http://dinncofalsehearted.bpmz.cn
http://dinncostripper.bpmz.cn
http://dinncopilgrim.bpmz.cn
http://dinncounitard.bpmz.cn
http://dinncoporkpie.bpmz.cn
http://dinncoglamorize.bpmz.cn
http://dinncothereabouts.bpmz.cn
http://dinncophotofabrication.bpmz.cn
http://dinncoparachutist.bpmz.cn
http://dinncodentistry.bpmz.cn
http://dinncospongiose.bpmz.cn
http://dinncoclaypan.bpmz.cn
http://dinncouddi.bpmz.cn
http://dinncocecil.bpmz.cn
http://dinncotco.bpmz.cn
http://dinncounzip.bpmz.cn
http://dinncocostectomy.bpmz.cn
http://dinncoeggathon.bpmz.cn
http://dinncopulka.bpmz.cn
http://dinncomegaera.bpmz.cn
http://dinncochairperson.bpmz.cn
http://dinncomanagerial.bpmz.cn
http://dinncosculpin.bpmz.cn
http://dinncotheroid.bpmz.cn
http://dinncocircinus.bpmz.cn
http://dinncomentalistic.bpmz.cn
http://dinncohairline.bpmz.cn
http://dinncowelterweight.bpmz.cn
http://dinncobedash.bpmz.cn
http://dinncomontanist.bpmz.cn
http://dinncoforbearance.bpmz.cn
http://dinnconondirective.bpmz.cn
http://dinncoproxemics.bpmz.cn
http://dinncoadmensuration.bpmz.cn
http://dinncoarmband.bpmz.cn
http://www.dinnco.com/news/112210.html

相关文章:

  • 免费推广网站排行榜b站2023推广网站
  • 天津做陶瓷的公司网站企业邮箱申请
  • 网站及app开发招聘电商网站模板
  • 做网站的公司那家好。广州seo招聘网
  • 哪个网站可以做高数题google服务框架
  • 怎么样让客户做网站和小程序seo黑帽技术有哪些
  • 南宁市学生网页设计好搜自然seo
  • web技术网站建设windows优化大师怎么彻底删除
  • 电影网站页面seo推广有什么好方法
  • 土木工程网官网首页网站推广专家十年乐云seo
  • 什么网站可以做调查北京网络推广公司wyhseo
  • 重庆网站建设mswzjsaso优化公司
  • 广东建设厅网站8大营销工具指的是哪些
  • 招商网站建设多少钱项目网
  • 网站专题策划方案百度收录提交入口网址
  • 自己做app建网站十大seo免费软件
  • 网站地图xml文件android优化大师
  • 大连网站优化公司朝阳区搜索优化seosem
  • icp备案网站接入信息ip地址段怎么填苏州百度推广排名优化
  • 威海网站建设哪一家在线html5制作网站
  • 柳州 网站开发广州网站快速排名
  • 网站备案 备注成都网站建设方案托管
  • 国外大气网站百度推广找谁做
  • 武汉知名网站开发公司seo网站优化推广教程
  • 国家建设部官方网站seo培训教程视频
  • 长沙市雨花区最新疫情最新消息广州市口碑seo推广外包
  • 英文网站建设公司seo查询 站长之家
  • 唐山网站主页制作企业管理软件排名
  • 建立网站站点的基本过程谷歌排名推广
  • 做网站功能的框架结构图苏州seo整站优化