这篇文章介绍开发者用 31 天学习 Kotlin 的心得,深入浅出地介绍了 Kotlin 的一些基本特性以及高级用法,对处于不同阶段的 Kotlin 开发者来说,在提高开发效率和了解 Kotlin 提供一些参考,希望可以对大家有所帮助。 第一周 Day 1:可见性 在 Kotlin 中一切都是默认 public 的。并且 Kotlin 还有一套丰富的可见性修饰符,例如:private, protected, internal。它们每个都以不同的方式降低了可见性。 Day 2:Elvis 操作符 需要处理代
Kotlin 程序是什么样子的?如果浏览过本书,你会看到许多例子。很有可能你觉得 Kotlin 语言有点古怪,充满了var field: String这样的语法。然而读完本章后,你将不再对这些语法感到陌生,甚至很可能喜欢上它们。 2.1 变量 让我们来看一个很简单的程序。 fun main(args: Array<String>) { var quantity = 5 val price: Double = 20.3 val name: String = "大米" p
Kotlin声明方式 先跟Java的声明方式对比一下,从onCreate方法入手看看他们的不同
在 Java 中,当我们要实现同一种功能,但函数入参出参不一样的函数的时候,我们可以用到 Java 的函数重载功能。在 Android framework 中同样也存在大量的重载函数,以方便开发者调用。重载函数深入人心,得到大家的认可。
改不完的 Bug,写不完的矫情。公众号 杨正友 现在专注移动基础平台开发 ,涵盖音视频, APM和信息安全等各个知识领域;只做全网最 Geek 的公众号,欢迎您的关注!精彩内容不容错过~ 一. kotlin 简介 Kotlin 拥有强大的生态,因为 Kotlin 是一门跑在 Java 虚拟机上的函数式语言,完全符合 JVM 的设计规范,如: 类型擦除,装箱和拆箱等等。所以也可以像 Java 一样支持 Android 原生环境开发,服务端,甚至大前端方向。那么 Kotlin 和 Java 有什么共同点
与Java中不一样,kotlin中 “==” 和 equals() 一样,equals( , true)是忽略大小写
Kotlin基于Java的空指针提出了一个空安全的概念,即每个属性默认不可为null。
点击Android Studio Preference -> Plugins -> 搜索Kotlin Languages插件
IntelliJ IDEA 安装 : 下一步 -> 下一步 即可, 全部默认设置;
默认参数 是一个简短而易用的功能,它可以让您无需模版代码便可实现函数重载。和 Kotlin 所提供的许多其他功能一样,默认参数会给人一种魔法般的感觉。如果您想要知道其中的奥秘,请继续阅读,本文将会揭晓默认参数内部的工作原理。
原文链接是《What's New in Kotlin 1.2》,下面的译文节选了“其它的语言特性”部分(“Other Language Features”)
上一篇文章介绍了Kotlin对函数的基本用法,包括函数的定义、输入参数的声明、输出参数的声明等等,这些足够对付简单的场合了。当然了,倘若一门新语言仅仅满足于这些雕虫小技,那也实在没什么前途。既然Kotlin志在取代Java,就必须练成Java所不具备的功夫。本篇文章便从函数的输入参数着手,谈谈Kotlin对输入参数的改进与增强之处。 首先复习一下如何声明函数的输入参数,比如回答“中国的伟大发明有哪些?”这个问题,需要定义一个函数,根据输入的几个发明名称,然后将这几个发明拼接成完整的答案。具体的函数定义举例如下:
Kotlin 1.4 的第一个里程碑版本发布了,具体发布信息可以参考1.4-M1 ChangeLog[1]。
Kotlin,已经被Android官方宣布 kotlin first 的存在,去翻 Android 官方文档的时候,发现提供的示例代码已经变成了 Kotlin。Kotlin的务实作风,提供了很多特性帮助开发者减少冗余代码的编写,可以提高效率,也能减少异常。
在 Kotlin 类中 , 可以在 类声明 时 在 类名后 定义 " 主构造函数 " ;
上一篇文章提到泛型函数appendString是在类外面定义,这不免使人疑惑,类里面又该怎样定义成员函数呢?为解答这个疑问,接下来的几篇文章将好好描述一下Kotlin如何操作类及其对象,本篇文章先对类的定义进行说明并加以运用。 之前我们已经多次见过的类MainActivity,在Java代码中该类的写法如下所示:
函数这个词相信各位不会陌生,而Kotlin中也是使用了众多函数的,正所谓面向函数编程。
哦,不,不能这样,据说最近各方大佬们都已经开始不怎么关注 Kotlin 了,原因嘛,估计也是工(wu)作(li)太(ke)忙(tu)吧,所以我要挺住。。。
在Kotlin 1.1中,团队正式发布了JavaScript目标,允许开发者将Kotlin代码编译为JS并在浏览器中运行。在Kotlin 1.2中,团队增加了在JVM和JavaScript之间重用代码
Aandroid开发你还在用Java吗?现在是开始使用新的编程语言的时候了。自从Kotlin成为谷歌官方语言后,你有没有心动?
本文主要介绍了Kotlin编程语言的一些主要优点,包括代码简洁易读、跨平台、强大的标准库、更少的代码完成、支持多种编程范式、良好的性能表现、现代化的IDE支持、以及逐渐增长的生态系统。同时,也探讨了Kotlin和Java的异同点,以及如何在实际项目中选择使用Kotlin或Java。
好了亲,前文中我们在函数式编程的世界里遨游了一番,现在我们把思绪收回来,放到在Kotlin中的函数式编程中来。
在 Java 语言 编写的程序中 , 出现最多的崩溃就是 NullPointerException 空指针异常 ,
根据文章内容为读者提供摘要总结。
与java类似的一种基于JVM虚拟机的语言,java其实也是一种解释型语言,生成的class文件供JVM解释,同时kotlin也是一样的kotlin就是为了解决java的各种痛点而产生的,利用kotlin可以大大减少开发过程中的代码量编写,有一套几乎可以杜绝空指针的机制,kotlin没有分号
使用表达式 不建议: fun getDefaultSex(name:String):User{ if(name=="mike"||name=="jack"){ return male; } if(name="marry"||name="jane"){ return female } return male } 建议: fun getDefaultSex(name:String)=when(name){ "mike","ja
Kotlin 以其简洁的特性而闻名,而在我们的实践中,更加简洁就意味着更加高效。事实上,在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力。在接下来的内容中,我会分享一些 Kotlin 帮助我们的合作伙伴工程师们提高生产力的方式,并为您介绍有助于此的 Kotlin 功能。
2017-06-30 by Liuqingwen | Tags: Kotlin 翻译 | Hits
关于Kotlin相关记录,如果有意查看我的github,其超10w字(其中8w是代码吗,哈哈)。。
如果你是像我一样是一名 优秀的Java开发者 ^_^,而且已经想用kotlin来实现你的程序,那么,抱歉!不要用Java的语法思维来写Kotlin,不要让kotlin的优雅埋没。如果你没有Java开发经验,下面的内容也对你会有帮助。。。
在Java中,数据类占据着重要的角色,其通常需要重写包括equals(),hashCode(),toString()几个方法。
如果你是像我一样是一名 优秀 的Java开发者 _ ,而且已经想用kotlin来实现你的程序,那么,抱歉!不要用Java的语法思维来写Kotlin,不要让kotlin的优雅埋没。如果你没有Java开发经验,下面的内容也对你会有帮助。。。
companion object 的出现是为了解决 Java static 方法的反面向对象(Anti-OOP)的问题。static 方法无法声明为接口,无法被重写——用更学术的话来说,static 方法没有面向对象的消息传递和延迟绑定特性[参考]。而 Scala 为了完成一切皆对象的使命,以及提高与 Java 的兼容性,提出了伴生对象这个概念来代替 static 方法。随后出身的 Kotlin 也借鉴了这个概念。
互操作就是在Kotlin中可以调用其他编程语言的接口,只要它们开放了接口,Kotlin就可以调用其成员属性和成员方法,这是其他编程语言所无法比拟的。同时,在进行Java编程时也可以调用Kotlin中的API接口。
前言 在Kotlin介绍:第一部分,我们介绍了基本语法,现在我们可以去看看实际上如何使用Kotlin。在这篇文章中,我们将介绍collections和lambdas表达式,一些方便的扩展函数(apply,let,run和with),null safety(空安全),那下面咱就开始吧。 1、Collections and Lambdas 那么Kotlin collections是什么呢?如果您熟悉Java8,您将会对这些collection方法(java流)和语法十分了解。然而,Kotlin提供了大部分你可能
对于每个属性,kotlin会自动生成一个的field:代表属性的值,一个getter方法,一个setter方法。我们操作属性时,实际调用的是get和set方法,因为kotlin变量的不可空性,对于非空变量,我们在赋值时,系统要对赋值的值进行是否为null判断
ConstructorConstructor.newDefaultConstructor
和Java没有什么两样,Kotlin中,类的声明也使用class关键字,如果只是声明一个空类,Kotlin和Java没有任何区别,不过定义类的其他成员,区别就很大了。
之前零零散散的学过Kotlin,但是不成体系。最近,每天早起,利用上班之前的四个早晨,将传智播客的《Kotlin从零基础到进阶》又刷了一遍,并做了相应的笔记——也就是这篇文章。
从 Kotlin 1.2 版本开始,如果你查看 apply、 let 等函数的源码,你会发现比 1.1 版本多了几行不明觉厉的代码:
area函数在printArea外部无效,它只服务于printArea。这在实现一个大函数时隐藏实现的细节是非常有用的。除此之外,本地函数还有一个好处就是可以访问嵌套住函数中的变量,例如:
学习 Kotlin 一定绕不开 run/let/apply/also 这四兄弟,它们是 Kotlin 使用频率最高的扩展方法(扩展方法在之前文章有介绍),它们也被称为作用域函数(scope functions)。今天我们就来了解一下它们。本文依然是按代码比较,字节码分析,和扩展思考三个方面进行分析。
这是「AI 学习之路」的第 6 篇,「Python 学习」的第 6 篇 题外话 这周工作日 5 天,我并没有更新文章,但大家并不要以为小之懒惰了。正好相反,自从上篇的 AI 入门文章后,我自己便开始进行机器学习的系统学习了,这周一到周五,只要有空闲时间,我就开始看吴恩达 Coursera 的视频,可以说是非常痴迷了。 吴教授的课程非常通俗易懂,而且他本人的教学风格也是不紧不慢,循序渐进,甚至有关微积分和线代甚至 Octave 这些知识点都花了比较多的篇幅进行展开讲解,亲身体会后,再次推荐给大家。 目前
本文已过期。 在围绕Kotlin 1.0的发行大肆宣传之后,让我们认真看一下我们也应该在Java中拥有的一些Kotlin语言功能。
小编说:互操作就是在Kotlin中可以调用其他编程语言的接口,只要它们开放了接口,Kotlin就可以调用其成员属性和成员方法,这是其他编程语言所无法比拟的。同时,在进行Java编程时也可以调用Kotlin中的API接口。
Kotlin 语言中 , 在 Standard.kt 源码中 , 为所有类型定义了一批标准库函数 , 所有的 Kotlin 类型都可以调用这些函数 ;
Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),「Kotlin vs. Swift」课程就是他们在互相切磋是的语录。 技术漫谈 Swift: Hi,又见面了。 Kotlin: 恩,上次没分出胜负,这次再来。 Swift: 好,今天讲讲函数,你们是怎么定义函数的呀? Kotlin: 我们是这样定义的 fun <functionName>(<parameters>)[: <Type>] { <block> } 你们呢? S
ES6(ECMAScript 6,ES2015)原来指的是 ECMA 组织在 2015 年发布的 ECMAScript 2015 标准,以后发布的 ECMAScript 2016 对应 ES7,依此类推。今年发布的 ECMAScript 2019 标准对应的就是 ES10。相比于之后发布的这些版本,ES6 的改变幅度非常大,因此我们通常说的 ES6 广义上也包括 ES5 之后的所有更新。
在Kotlin中@JvmOverloads注解的作用就是:在有默认参数值的方法中使用@JvmOverloads注解,则Kotlin就会暴露多个重载方法。 可能还是云里雾里,直接上代码,代码解释一切: 如果我们再kotlin中写如下代码:
领取专属 10元无门槛券
手把手带您无忧上云