热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python教程分享Kotlin编程基础语法编码规范

前言上一篇我们认识了kotlin编程语言,也搭建好开发环境。本篇就进入kotlin的基础语法介绍,与其他编程语言一样,kotlin也有自己的一套编码规范。文章总览1.kotlin基

前言

上一篇我们认识了kotlin编程语言,也搭建好开发环境。本篇就进入kotlin的基础语法介绍,与其他编程语言一样,kotlin也有自己的一套编码规范。

文章总览

Kotlin编程基础语法编码规范

1.kotlin基本语法

1.1 函数声明

使用关键字 fun 声明:

fun sum(a: int, b: int): int { return a + b }  

以上函数有俩个 int 参数:a , b;返回值为 int 类型值。

在kotlin中,返回值类型可以自行推断,函数体可以是表达式:这与java是有区别的,直接用 = 相连

fun sum(a: int, b: int) = a + b  

无返回值的函数,使用 unit 为写法更简便可以将 unit 省略。

fun printsum(a: int, b: int): unit {       println("sum of $a and $b is ${a + b}")   }  // unit 返回类型可以省略  

1.2 程序主入口

kotlin 程序的入口是 main函数,与 java 是一样的。

fun main() {       println("hello world!")  // 打印字符串   }  

程序在执行时,会先进入 main 函数开始执行。

1.3 变量

  • 只读局部变量(常量) 使用 val 定义
val a: int = 1 // ⽴即赋值   val b = 2 // ⾃动推断出 `int` 类型   val c: int // 如果没有初始值类型不能省略   c = 3 // 明确赋值  
  • 可重新赋值变量 使用 var 定义
var x = 5 // ⾃动推断出 `int` 类型   x += 1 // x重新赋值  

这与 java 有很大区别,不用指定变量的类型,有编译器自动推断出来。

1.4 条件表达式

与 java 中的 if 语句一样

if (a > b) {       return a   } else {       return b   }  

在 kotlin中 if 也可以⽤作表达式,更加简便

fun max(a: int, b: int) = if (a > b) a else b  

1.5 when表达式

when 将它的参数与所有的分⽀条件顺序⽐较,直到某个分⽀满⾜条件

when (obj) {       1 -> "one"       "hello" -> "greeting"       is long -> "long"       !is string -> "not a string"       else -> "unknown"   }  

可以类比 java 中的 switch 语句。

1.6 空值与空检测

一个表达式或者一个变量可以为null, 在kotlin中可以使用 来结尾表示

fun parseint(str: string): int? { // …… }    // 函数返回值可为空,当返回值 不是 int 类型,返回值就是null  

这一特性解决了 java 中一老大难的问题:nullpointexception 空指针报错问题,在日常开发中帮开发者提高了不少开发效率和减少了不少bug。

1.7 区间使用

使⽤ in 操作符来检测某个数字是否在指定区间内

val x = 10   val y = 9   if (x in 1..y+1) {       println("in range")   }  

这个特性可以运用到 区间和数列中。

2.kotlin编码规范

Kotlin编程基础语法编码规范

目录结构:可以类比 java 项目,包名的规则:小写字母,公司/组织域名反写

代码源文件:以 .kt 为扩展名,命名规则首字母大写的驼峰风格,例如 helloworld.kt

命名规则:

  • 类与对象的名称以大写字母开头并使用驼峰风格
  • 包的名称总是小写且不使用下划线

文档注释:

  • 多行注释
  • 单行注释

代码缩进风格要统一

注解:将注解放在单独的⾏上,在它们所依附的声明之前,并使⽤相同的缩进

  • 链式调用:对链式调⽤换⾏时,将 . 字符或者 ?. 操作符放在下⼀⾏,带有缩进
  • 不在 . 或者 ?. 左右留空格: foo.bar().filter { it > 2 }.jointostring() , foo?.bar()
  • // 之后留⼀个空格: // 这是⼀条注释
  • 不要在⽤于指定类型参数的尖括号前后留空格: class map { …… }
  • 不要在 :: 前后留空格: foo::class 、string::length
  • 不要在⽤于标记可空类型的 ? 前留空格: string?

总结

python教程分享Kotlin编程基础语法编码规范主要讲解 kotlin 常用的基本语法,后续会针对特定的知识点展开学习,同时学习了kotlin 编码规范,对日常规范编写代码是非常有帮助。

以上就是kotlin编程基础语法编码规范的详细内容,更多关于kotlin 语法编码规范的资料请关注<编程笔记>其它相关文章!

需要了解更多python教程分享Kotlin编程基础语法编码规范,都可以关注python教程分享栏目&#8212;编程笔记


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
author-avatar
qq2304944703
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有