本文共 4572 字,大约阅读时间需要 15 分钟。
经过 ,我成为了专业的软件开发人员。 那使我开始使用 ,但是最近,我开始享受一种完全不同但兼容的编程语言,称为 。
自开发初期就 。对于Java开发人员而言,好消息是Kotlin可与Java互操作。 标准Java代码可以包含在Kotlin程序中,而Kotlin可以包含在Java程序中。 兼容性方面的巨大投资意味着,如果您来自Java背景,那么选择Kotlin会让您感到熟悉并且风险很小,因为它将与您现有的任何Java代码一起运行。
为了向您介绍Kotlin,我将介绍其一些基本语法,从变量到定义函数和类。 如果您想继续学习该语言的某些功能,可以使用基于浏览器的 。
Kotlin中的变量会让您感到熟悉。 以下是一些创建基本整数的示例:
var I = 5 val j = 7 var k : Int = 8
var
和val
分配之间有一个细微而重要的区别:当可以重新分配您定义的变量时使用var
,而val
用于不会更改的局部范围值。 每个变量的类型都是可选的,因为可以推断类型,类似于JavaScript中的动态分配。 也有使用以下语法的可空分配:
var f : Int ? = 9
这意味着分配的值可以等于null。 的不在本文讨论范围之内,但重要的是要知道变量只有在明确定义为null时才能等于null。
如果计划定义没有初始实例化(值)的变量,则必须将类型放在变量名称之后:
var s : Int
字符串的组成类似,其类型在变量名之后:
val a : = "Hello"
琴弦在Kotlin具有超能力。 它们包括了很棒的字符串模板函数,您可以进行 。
另一个基本类型是数组。 它可以存储预定数量的相同定义类型的对象。 在Kotlin中有几种不同的创建数组的方法,例如:
val arrA = arrayOf ( 1 , 2 , 3 ) val arrB = arrayOfNulls < Int ?> ( 3 ) val arrC = Array < Int ?> ( 3 ) { 5 }
第一个创建一个长度为3的数组,元素1、2和3; 第二个创建一个可为null的整数类型的null数组; 第三个创建了一个可空整数数组,每个元素等于5。
要检索元素之一,请使用括号符号(从零开始)。 因此,要检索第一个数组中的第一个元素,请使用: arrA[0]
。
在Kotlin中对对象进行分组的其他方式通常称为集合。 Kotlin有几种类型的收藏。 每个都可以是可变的(可更改/可写)或不可变的(只读)。
var mutList = mutableListOf ( 7 , 5 , 9 , 1 ) val readList = listOf ( 1 , 3 , 2 )
var mapMut = mutableMapOf ( 5 to "One" , 6 to "Five" ) val mapRead = mapOf ( 1 to "Seven" , 3 to "six" )
var setMut = mutableSetOf ( 1 , 3 , 5 , 2 ) val readSet = setOf ( 4 , 3 , 2 )
每当您尝试重新分配不可变对象时,都会收到语法错误,指出Val cannot be reassigned
。 当您有一个不想被程序的任何部分编辑的集合时,此行为会派上用场。
函数是格式良好的软件程序的基础。 存储为函数的可重复代码位可以重复使用,而无需一遍又一遍地重写相同的命令。 在Kotlin中,用于创建函数的标准语法为:
fun doSomething ( param1 : ) : Unit { println ( "This function is doing something!" ) ; }
此示例函数接受字符串作为唯一参数; 如您所见,参数类型位于参数名称之后。 当函数不返回值时(尽管Unit是一个值,并且只有一个值,因为它是单例),所以Unit对象是Kotlin,等效于Java的 。 Kotlin函数的工作方式与使用Java和其他一些语言时一样。
Kotlin中的类与其他将对象/类视为基础构建块的面向对象编程(OOP)语言中的类非常相似。 使用以下语法创建类:
class ExampleClass { }
默认情况下,类拥有一个主要的构造函数,该构造函数可用于设置对象属性,而无需编写用于getter / setter(访问器/更改器)的代码。 这样就很容易创建对象并开始使用它,而无需太多样板代码。 主构造函数不能包含实现代码,只能包含参数:
public class ExampleClass constructor(type:String)
要编写主要的构造函数实现,可以在类中使用init
:
init{ val internalType:String = type }
或者,您可以通过在每个参数前面放置val
或var
在构造函数中对其进行初始化:
public class ExampleClass constructor ( var type : , var size : Int )
尽管这没有深入到类,属性和可见性修改器中,但是它应该使您开始在Kotlin中创建对象。
Kotlin文件的.kt
。 要开始运行Kotlin文件,编译器会在文件中查找main
功能; 因此,基本的“ Hello World”程序将如下所示:
fun main ( args : Array < String > ) { println ( "Hello World" ) }
轻轻松松吧?
Kotlin是一种高级但直观的OOP语言,可简化和简化针对移动设备,服务器端,Web和数据科学应用程序的Java开发。 我发现它的语法和配置比Java简单得多。
例如,比较Java中的print
语句:
. out . println ( "Hi" )
与Kotlin的语法:
println ( "Hello" )
此外,getter和setter不需要其他库即可轻松实现。 在Java中,像Lombok这样的库通过注释简化了类/对象属性设置。 在Kotlin中,可以使用属性轻松实现类:
class Person { var firstName : = "" var lastName : = "" var age : Int ? = null var gender : ? = null }
可以使用以下语法来检索或设置这些属性:
var me = Person ( ) me. firstName = “Stephon” me. lastName = “Brown”
Kotlin的简单性和Java互操作性对您花时间学习无用的东西的风险很小。 在迈出Kotlin的第一步之后,您可能再也不会以相同的方式看待Java代码或JVM。
翻译自:
转载地址:http://lbbzd.baihongyu.com/