kotlin Hello World 以及关键字
hello world:(支持函数式编程,不需要放到 class 中)
fun main(args: Array<String>) {
println("Hello World")
}
kotlin 关键字可分为 3 类:
硬关键字:这些关键字无论在什么情况下都不能用作标识符。
软关键字:这些关键字可以在它们不起作用的上下文作标识符。
修饰符关键字:这些关键字也可以在代码中用作标识符。
Kotlin 的硬关键字包括:(其他语言也有的就忽略了)
as:用于做类型转换或为 import 语句指定别名。
as?:类型安全的类型转换运算符
fun:声明函数
in:在 for 循环中使用;in还可作为双目运算符,检查一个值是否处于区间或集合内;in 也可在 when 表达式中使用;in 还可用于修饰泛型参数,表明该泛型参数支持逆变。
!in:可作为双目运算符 in 的反义词;!in 也可在 when 表达式中使用
is:用于做类型检查 (类似 java 的 instanceof) 或在 when 表达式中使用。
!is:用于做类型检查(is 的反义词) 或在 when 表达式中使用
null:代表空的直接量
object:用于声明对象表达式或定义命名对象
typealias:用于定义类型别名
val:声明只读属性或变量
var:声明可变属性或变量
when:用于 when 表达式
kotlin 的软关键字包括:
by:用于将接口或祖先类的实现代理给其他对象
constructor:用于声明构造器
delegate:用于指定该注解修饰委托属性存储其委托实例的字段
dynamic:主要用于在 Kotlin/JavaScript 中引用一个动态类型
field:用于指定该注解修饰属性的幕后字段
file:用于指定该注解修饰该源文件本身
get:用于声明属性的 getter 方法,或者用于指定该注解修饰属性的 getter 方法
init:用于声明初始化块
param:用于指定该注解修饰构造器参数
property:用于指定该注解修饰整个属性(这种目标的注解对 java 不可见,因为 java 并没有真正的属性)
receiveris:用于指定该注解修饰扩展方法或扩展属性的接收者
set:用于声明属性的 setter 方法,或者用于指定该注解修饰属性的 setter 方法
setparam:用于指定该注解修饰 setter 方法的参数
where:用于为泛型参数增加限制
Kotlin 的修饰符关键字包括:
abstract:用于修饰抽象类或抽象成员
annotation:用于修饰一个注解类
companion:用于修饰一个伴生对象
const:用于声明编译时常亮
crossinline:用于禁止在传给内联函数的 Lambda 表达式中执行非局部返回
data:用于声明数据类
enum:用于声明枚举
external:用于声明某个方法不由 Kotlin 实现(与 Java 的 native 相似)
final:用于禁止被重写
infix:声明该函数能以双目运算符的格式执行
inline:用于声明内联函数,Lambda 表达式可在内联函数中执行局部返回
inner:用于声明内部类,内部类可以访问外部类的实例
internal:用于表示被修饰的声明只能在当前模块内可见
lateinit:用于修饰一个 non-null 属性,用于指定该属性可在构造器以外的地方完成初始化
noinline:用于禁止内联函数中个别 Lambda 表达式被内联化
open:用于修饰类,表示该类可派生子类;或者用于修饰成员,表示该成员可以被重写
out:用于修饰泛型参数,表明该泛型参数支持协变
override:用于声明重写父类的成员
reified:用于修饰内联函数中的泛型形参,接下来在该函数中就可像使用普通类型一样使用该类型参数
sealed:用于声明一个密封类
suspend:用于标识一个函数后 Lambda 表达式可作为暂停
tailrec:用于修饰一个函数可作为尾随递归函数使用
vararg:用于修饰形参,表明该参数是个数可变的形参。
kotlin Hello World 以及关键字的更多相关文章
- java太low,又舍不得jvm平台的丰富资源?试试kotlin吧(一)
尝试kotlin的起因 因为各种原因(版权,人员招聘),公司的技术体系从c#转到了java,我花了大概两周的时间来上手java,发现java的语法还是非常简单的,基本看着代码就知道什么意思.学习jav ...
- 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试
1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...
- Kotlin——从无到有系列之高级篇(一):Lambda表达式
如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索 QQ群号:497071402 进入正题 经过前面一系列对K ...
- 初识Kotlin之变量
用Java开发了很多年,因为工作的需要学习Kotlin.初识Kotlin时是各种不习惯,觉得这个语言相对于Java而言并不够严谨.随着不断的深入,最终还是逃不过"真香定理".我一直 ...
- 写给Android开发者的Kotlin入门
写给Android开发者的Kotlin入门 转 https://www.jianshu.com/p/bb53cba6c8f4 Google在今年的IO大会上宣布,将Android开发的官方语言更换为K ...
- Kotlin 类和对象
类定义 Kotlin 类可以包含:构造函数和初始化代码块.函数.属性.内部类.对象声明. Kotlin 中使用关键字 class 声明类,后面紧跟类名: class Runoob { // 类名为 R ...
- Kotlin 随笔小计
最近准备学Kotlin 现在Kotlin也能支持IOS开发了,准备后面买个Mac也能进行IOS开发 当然目标还是看着能不能把一些小的Android项目重构下 也算是定个目标吧,由于沉迷吃鸡,日志都没怎 ...
- Kotlin入门(25)共享参数模板
共享参数SharedPreferences是Android最简单的数据存储方式,常用于存取“Key-Value”键值对数据.在使用共享参数之前,要先调用getSharedPreferences方法声明 ...
- Kotlin入门(15)独门秘笈之特殊类
上一篇文章介绍了Kotlin的几种开放性修饰符,以及如何从基类派生出子类,其中提到了被abstract修饰的抽象类.除了与Java共有的抽象类,Kotlin还新增了好几种特殊类,这些特殊类分别适应不同 ...
随机推荐
- 高可用Kubernetes集群-11. 部署kube-dns
参考文档: Github介绍:https://github.com/kubernetes/dns Github yaml文件:https://github.com/kubernetes/kuberne ...
- BZOJ 3489 A simple rmq problem 可持久化KDtree/二维线段树
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3489 题意概述: 给出一个序列,每次询问一个序列区间中仅出现了一次的数字最大是多少,如果 ...
- CSS中水平居中设置的几种方式
1.行内元素: 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的. <body> <div class="t ...
- 《英文版c++语言程序设计》
compatibility [kəm,pætɪ'bɪlɪtɪ] n.兼容 compatible [kəm'pætɪb(ə)l] adj. 兼容的:能共处的:可并立的 interdependent [ɪ ...
- Xftp安装和使用的视频录制方法
内容: 1.使用工具 2.操作步骤及方法 视频地址: http://v.youku.com/v_show/id_XMzEwNjg2MTg2NA==.html?spm=a2h3j.8428770.341 ...
- Alpha冲刺——第七天
Alpha第七天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...
- Python数据挖掘学习路程--起步
一.首先第一步我去了解了Python开发环境:Python(程序运行基础的解释器)+第三方类库(功能扩展)+编辑器(提高代码编辑效率) 编辑器有:Pycharm.Spyder.jupyter note ...
- Java中final修饰符深入研究
一.开篇 本博客来自:http://www.cnblogs.com/yuananyun/ final修饰符是Java中比较简单常用的修饰符,同时也是一个被"误解"较多的修饰符.对很 ...
- beta阶段评语
首先我说一下自己心中的排序 1.俄罗斯方块 2 连连看 3 考试管理系统 4 食物链教学软件 5 约跑App 6 礼物挑选小工具 我的理由: 新峰的俄罗斯的方块,虽然当初的亮点没做出来,但是整体流程完 ...
- Git命令常用清单
本文从以下十个方面,介绍Git命令的常用清单: 一.新建代码库 二.配置 三.增加/删除文件 四.代码提交 五.分支 六.标签 七.查看信息 八.远程同步 九.撤销 十.其他 每天使用 Git ,但是 ...