当前位置: 首页 > news >正文

Kotlin知识点

Kotlin 是 Google 推荐的用于创建新 Android 应用的语言。使用 Kotlin,可以花更短的时间编写出更好的 Android 应用。

基础

Kotlin 程序必须具有主函数,这是 Kotlin 编译器在代码中开始编译的特定位置。主函数是程序的入口点,或者说是起点。Kotlin 编译器会将main函数用作起点。

函数是程序中用于执行特定任务的部分。您的程序中可以有多个函数,也可以只有一个函数。 

定义函数后,再调用函数。

定义函数

以下是定义函数所需的关键部分:

  • 函数需要有名称,这样您以后才能调用它。
  • 函数还可能需要一些输入或需要在调用函数时提供的信息。函数要利用这些输入来实现其目的。输入并非硬性要求,有些函数不需要输入。
  • 函数还要有主体,其中包含执行任务的指令。

Kotlin中定义函数必须遵循一下规则:

单词“fun”必须放在最前面,接着是函数名称,之后是用圆括号括起的输入,再之后是用花括号括起的主体。 

函数关键字

为了指明即将使用 Kotlin 定义函数,在新行中输入特殊单词 fun(函数的缩写)。输入的 fun 必须与此处所示的单词完成相同,所有字母均为小写形式。不能使用“func”、“function”或其他拼写,因为 Kotlin 编译器会无法识别其含义。

这些特殊单词在 Kotlin 中称为关键字,专用于特定用途,例如在 Kotlin 中创建新函数。

函数名称

函数需要用名称来区分彼此,函数的名称位于 fun 关键字后面。

名称通常是动词或动词短语。不要使用 Kotlin 关键字作为函数名称。

函数名称应遵循驼峰式大小写的规范。

Kotlin中的数据类型

Kotlin中定义变量 

 定义新变量,用Kotlin 关键字开头

  • val 关键字用于定义只读变量;其中的变量一旦赋值,就不能再更改。
  • var 关键字用于定义可变变量。(将变量声明为 var,才能更新其值)

如果在声明变量时未提供初始值,就必须指定类型。

所以声明变量还可以简写为:

val count1 = 2  //该变量的值不能再改变
var count2 = 2  该变量的值可改变
//一下是错误的代码
count1 = 1
//一下是可以执行的代码
count2 = 1
val count: Int    //未声明值时,类型必须声明

使用变量,在变量前面加$符号

fun main() {val count: Int = 2println("我 $count 岁了.")//我2岁了.
}

 若是复杂的表达式,就必须用大括号将该表达式括起来,并在大括号前添加 $ 符号:

${count1 + count2}

 + 号将两个字符串加在一起,这两个字符串之间不会添加任何额外的空格。如果想让输出字符串中的冒号后面有空格,则需要在其中一个字符串中添加空格。 

在Kotlin中创建和使用函数

fun main() {//在main函数中调用自定义函数customFun()    
}//自定义函数
fun customFun() {println("11")println("22")
}
11
22

Unit 类型

默认情况下,如果不指定函数返回值类型,默认返回值类型是 UnitUnit 表示函数并不会返回值。Unit 相当于其他语言中的 void 返回值类型。

不返回任何内容或返回 Unit 的函数,不需要使用 return 语句。

fun customFn(): Unit {println("11")println("22")
}
fun main() {println(customFn2())  //yt
}
fun customFn2(): String {val a = "yt"return "$a"
}

给函数传递形参

每个形参均由变量名称数据类型组成,以冒号和空格分隔。多个形参以英文逗号分隔。

fun main() {println(customFn("yt", 18))/*姓名:yt年龄:18*/
}
fun customFn(name: String, age: Int): String {val a = "姓名:$name"val b = "年龄:$age 岁"return "$a\n$b"
}
http://www.lryc.cn/news/101887.html

相关文章:

  • 亚马逊云科技联合霞光社发布《2013~2023中国企业全球化发展报告》
  • 【解析excel】利用easyexcel解析excel
  • JQuery操作单选按钮Radio和复选框checkbox
  • 7.28 作业 QT
  • HTML <pre> 标签
  • 查询结果元数据-MetaData对象、数据库工具类的封装、通过反射实现数据查询的封装
  • 【Minio中间件】上传图片并Vue回显
  • Jmeter配置不同业务请求比例,应对综合场景压测
  • 数学分析:流形的线性代数回顾
  • 前端请求后端接口返回错误码
  • 【Java Web】Nacos 介绍和安装教程
  • web漏洞-java安全(41)
  • 用CSS和HTML写一个水果库存静态页面
  • 【回眸】备考PMP考点汇总 三(距离考试还有20天)
  • 新房的收房验房注意事项
  • ARM裸机-5
  • SpringCloud学习路线(11)——分布式搜索ElasticSeach场景使用
  • 负数补码表示
  • ChatGPT结合知识图谱构建医疗问答应用 (一) - 构建知识图谱
  • C++ 类和对象
  • c# 此程序集中已使用了资源标识符
  • WPF实战学习笔记30-登录、注册服务添加
  • GDAL C++ API 学习之路 OGRGeometry 圆弧类 OGRCircularString
  • 机器学习:异常检测
  • flask中的蓝图
  • Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建
  • uniapp 瀑布流 (APP+H5+微信小程序)
  • 医疗小程序:提升服务质量与效率的智能平台
  • ComPDFKit 转档SDK OCR表格识别功能
  • 华为OD机考--阿里巴巴黄金箱