我们还是用Hello World的例子展开,代码如下:
package com.my.example
fun main() {
println("Hello World")
}
package(包)
所有的文件,通常以package声明开头,后面跟的是包名(本例中的com.my.example)。包名就类似于我们的地址,XX市.XX区.XX街道,每个人都属于某个地址,当然如果是黑户,没有地址怎么办呢,Kotlin也允许这样的情况存在,没有指明包的,该文件的内容属于无名字的默认包。
包名需要遵守下面的规范:
a. 为了尽量避免包名重复,通常是域名倒着写
b. 包名必须小写,不能有下划线
c. 通常不鼓励使用多个词,那有些特殊情况,必须要使用多个词,比如您就是不写北京市,非要写京津冀,能咋地,客官您息怒,可以可以,确实不能咋地,如果非要这么做,推荐使用驼峰风格(com.my.myExample)
为什么需要有个包名,主要是为了文件/方法/属性/类的可见性,这个在引入三方库的时候会比较明显,比如以北京这个维度,可能叫小明的同学有很多,但是细化到街道的维度可能就一个了
import
使用任何方法,属性,类等等,都需要import相应的包
在println上面,点击ctrl+鼠标左键,会进到Console.kt文件,我们翻到最上面,会发现,package kotlin.io,说明我们引用的println函数属于kotlin.io包,那为什么没有import呢,Kotlin平台,默认会导入kotlin.
,kotlin.io.
,kotlin.text.*等等,不需要再显示import
main
Kotlin的入口点是main函数,这个是百米赛道的起点,等你准备就绪,只等系统给你一个启动的信号。
变量
Kotlin 使用两个不同的关键字(即
val
和
var
)来声明变量
-
val
用于值从不更改的变量。使用
val
声明的变量无法重新赋值 -
var
用于值可以更改的变量
有一天我们突发奇想,盖一座房子吧:
val WELCOME = "Let's build a house!"
然后需要有一块地,宽20米,不能变,
val width : Int = 20
长呢,暂定25米,因为没想好,后面可能会变
var length : Int = 25
细心的小伙伴,发现了一些问题:
- WELCOME 为什么大写?Kotlin要求,对于顶层常量(或const变量),命名要使用全大写,可以包含下划线WELCOME_TO_MARKET
- WELCOME没有类型,这里涉及到Kotlin的一个机制——类型推断,“Let’s build a house!”很明显是String类型,在赋初值时,编译器推断出WELCOME也为String类型,于是可以省略类型声明,同样的下面两个变量也可以省略类型
- 局部变量需要使用小写命名,遵循驼峰规则
更多关于变量的知识点,会在后续篇章,不断深入,此篇只是入门。
fun
Kotlin中,使用fun关键字来声明函数,函数呢就是一段用于实现某个功能的代码。,函数名称须使用有意义的不宜过长。
那接着我们上面的例子,算一下这个房子需要占地多少,于是增加一个函数,实现的功能是长*宽=面积:
fun area(length: Int, width: Int): Int {
return length * width
}
函数有几个部分:fun关键字,函数名(area)参数(length和width),返回值(最后的Int),函数体(return length* width;)
为了培养大家的良好习惯,尽量遵守以下规则:
a.函数名称使用有意义的词组,尽量避免a()b()这样毫无意义的名称,不宜过长
b.首字母小写,多个词组使用驼峰风格,比如(weAreFamily)
c.参数使用name:type的表示方法,多个参数使用“,”隔开
注释
如果把程序比作房子,注释就是构造图或者说明书,对代码功能没有任何实际影响,但是可以增加可读性,别人可以更方便的了解你的代码。
Kotlin有一套编写代码文档的语言,成为KDoc,我们在此不展开讲,感兴趣的同学,可以仔细阅读
编写Kotlin代码文档
对于比较长的注释以/*
开头,以
/结尾,单独一行
/**
*This is our first kotlin application
*Copyright ...
* @author: XXX
*/
简短的注释/*
和
/可以写在一行
/** return area of land, using [length] and [width] */
当然,还可以更简单
var length : Int = 25//land length
Kotlin有提供丰富的标签,比如:
@param <名称>
用于函数的值参数或者类、属性或函数的类型参数
等等等等。。。
最后附上本章的代码:
/**
*This is our first kotlin application
* Copyright ...
* @author: XXX
*/
package com.my.example
val WELCOME = "Let's build a house!"
/** return area of land, using [length] and [width] */
fun area(length: Int, width: Int): Int {
return length * width
}
fun main() {
println(WELCOME)
var length = 25//land length
val width = 20
println("The area of land is " + area(length, width))
}
运行一下
大家应该都发现了,Kotlin语言的最大特性之一:
代码末尾不需要使用“;”结束