当前位置:网站首页 > Kotlin开发 > 正文

kotlin官方教程_kotlin语言

1.@JvmName修改方法名

直接看例子:

 @JvmName("testCopy") fun test(name: String, age: Int) { } 

直接反编译成java代码看下:

最终生成的方法名称就是testCopy而不是test

2.@get:JvmName@set:JvmName修改属性名

@get: JvmName("getSource") @set: JvmName("setSource") var mData: String = "" 

直接反编译成java代码看下:

对于val属性则只能使用@get: JvmName

3.String判空使用isNullOrEmpty,避免TextUtils.isEmpty()

我们分别对比下这两种写法:

可以看到,使用isNullOrEmpty判空的String,在调用name.length不会报错,使用TextUtils.isEmpty()的则会报错,需要强制声明name!!不为空`

为什么第一种不会报错呢,看下isNullOrEmpty的源码:

@kotlin.internal.InlineOnly public inline fun CharSequence?.isNullOrEmpty(): Boolean { contract { returns(false) implies (this@isNullOrEmpty != null) } return this == null || this.length == 0 } 

最核心的就是isNullOrEmpty方法体中有个contract,这个会帮助编译器告知String是否为空,以至于当调用name.length时编译器能推断出String不是空的,就不需要程序强制声明name!!非空

4.忽略大小写比较equals

一般的大小写比较如下:

val res = "aa".toLowerCase(Locale.ROOT) == "AA".toLowerCase(Locale.ROOT) 

反编译成java代码看下:

可以看到,"aa".toLowerCase(Locale.ROOT)赋值给一个局部变量var6"AA".toLowerCase(Locale.ROOT)赋值给另一个局部变量var7,然后再进行比较。

这种方式的比较会额外创建两个局部String变量,所以建议使用equals替换,其中第二个参数可以指定忽略大小写比较

val res = "aa".equals("AA", ignoreCase = true) 

反编译:

可以看到,实现非常的简单,不会创建额外的局部变量

5.运算符重载getset

  • get
class Pro { operator fun get(content: String): String { return content.repeat(10) } } 

然后就可以这样使用:println(Pro()["blue"])

  • set
operator fun set(key: String, value: String) { } 

set运算符重载至少需要传入两个参数,使用如下:Pro()["key"] = "value"

这两个运算符使用场景非常多,比如针对于Android中SharedPreference读写封装,具体详情可以参考文章:三.委托与SharedPreference的结合

还有很多其他的运算符重载函数,比如plus对应"+"、contains对应"in"等等,都是日常开发中比较常用的,大家可以根据具体场景灵活运用

高效掌握 Kotlin 的方法

Kotlin 是门典型的易学难精的语言:语法简洁,极容易入门,但又拥有许多的新特性,不容易掌;即使掌握了 Kotlin 的语法,想要写出优雅的代码,也不容易,更别提 Kotlin 特性的应用场景、底层实现原理了。

在这里给大家分享由谷歌工程师整理的总结的《Kotlin从入门到精通》及《Kotlin高级强化实战》资料,帮助大家用最少的精力入门并掌握Kotlin编程语言。教程内容由浅入深,通俗易懂,实例丰富,既有基础知识,也有进阶技能,需要的伙伴们可以点击文末卡片免费领取!!

一、《Kotlin从入门到精通》

目录

该内容会使用Kotlin作为主要的语言来开发一个android应用。方式是通过开发一个应用来学习这门语言,而不是根据传统的结构来学习。

我会在感兴趣的点停下来通过与Java1.7对比的方式讲讲Kotlin的一些概念和特性。用这种方法你就能知道它们的不同之处,并且知道哪部分语言特性可以让你提高你的工作效率。


现在你知道使用Kotlin实现的小例子了,我确信你会希望尽可能快地把它用在你的实践当中去。不要担心,在第一章中会帮助你去搭建你的开发环境,这样你才能立即编写代码。

从Kotlin语法概念的理解项目的创建再到整个项目的完成,每篇都是是采用“一对一”的讲解方式, 侧重总结工作上的实践经验,并和你分享一些疑难问题的解决思路,让你在以后的工作中,能够有方法论的指导。


二、《Kotlin高级强化实战》

第一章 Kotlin入门教程
  • Kotlin 概述
  • Kotlin 与 Java 比较
  • 巧用 Android Studio
  • 认识 Kotlin 基本类型
  • 走进 Kotlin 的数组
  • 走进 Kotlin 的集合
  • 集合问题
  • 完整代码
  • 基础语法

第二章 Kotlin 实战避坑指南
  • 方法入参是常量,不可修改
  • 不要 Companion 、INSTANCE ?
  • Java 重载,在 Kotlin 中怎么巧妙过渡一下?
  • Kotlin 中的判空姿势
  • Kotlin 复写 Java 父类中的方法
  • Kotlin “狠”起来,连TODO 都不放过!
  • is、as` 中的坑
  • Kotlin 中的 Property 的理解
  • also 关键字
  • takeIf 关键字
  • takeIf 关键字
  • 单例模式的写法

“工欲善其事,必先利其器”,学习以上知识点,可以让你在接下来的实战学习中,事半功倍。

在这里插入图片描述

第三章 项目实战《Kotlin Jetpack 实战》
  • 从一个膜拜大神的 Demo 开始
  • Kotlin 写 Gradle 脚本是一种什么体验?
  • Kotlin 编程的三重境界
  • Kotlin 高阶函数
  • Kotlin 泛型
  • Kotlin 扩展
  • Kotlin 委托
  • 协程“不为人知”的调试技巧
  • 图解协程:suspend

由于文章篇幅有限,资料内容过多,只展示目录和部分截图,需要该资料完整版的小伙伴可点击文末卡片免费领取!!


Kotlin 通常被视为下一个 Java,在 StackOverflow 的 2019 年开发人员调查中,Kotlin 成为第四大“最受欢迎”和第五大“想要”的编程语言,在所有移动编程语言中排名最高。Android 开发由 Java 转 Kotlin 早已势不可挡。

希望这篇文章会对你学习和掌握 Kotlin 语言有所帮助,也希望各位读者能在Android开发的进阶之路上走得长远,共勉!!

到此这篇kotlin官方教程_kotlin语言的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • kotlin android开发教程_android apk下载2024-11-19 07:36:07
  • kotlin android开发教程_kotlin有必要学吗2024-11-19 07:36:07
  • kotlin用什么开发工具_eclipse环境配置2024-11-19 07:36:07
  • kotlin开发文档_软件开发规范和标准2024-11-19 07:36:07
  • kotlin用什么开发工具_kotlin语言教程2024-11-19 07:36:07
  • 8小时 用kotlin开发一款app_kotlin能做什么开发2024-11-19 07:36:07
  • AndroidTV开发11使用kotlin开发TV项目_android kotlin开发2024-11-19 07:36:07
  • 多线程开发_boost asio最大并发2024-11-19 07:36:07
  • 零基础安卓开发教程_安卓程序开发工具2024-11-19 07:36:07
  • 27个适合上班摸鱼的网页游戏平台,游戏党必备2024-11-19 07:36:07
  • 全屏图片