Kotlin编程基础语法编码规范

目录
  • 前言
  • 文章总览
  • 1.Kotlin基本语法
    • 1.1 函数声明
    • 1.2 程序主入口
    • 1.3 变量
    • 1.4 条件表达式
    • 1.5 when表达式
    • 1.6 空值与空检测
    • 1.7 区间使用
  • 2.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编码规范

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

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

命名规则:

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

文档注释:

  • 多行注释
  • 单行注释

代码缩进风格要统一

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

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

总结

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

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

(0)

相关推荐

  • Kotlin 基本语法实例详解

    基本语法示例 实例代码: package com.stone.basic.syntax /** * desc : * author: stone * email : aa86799@163.com * time : 27/05/2017 11 01 */ class BasicSyntax { //Function having two Int parameters with Int return type: public fun sum(a: Int, b: Int): Int {//访问修饰

  • Kotlin 基础语法实例详解

    Kotlin 基础语法实例详解 包 定义和引入Java一样,在文件开头, 行结束不需要" ; " package com.test.hello import android.os.Bundle 变量 只读变量,val 开头,初始化后不能再赋值,相当于Java的 final 变量 val a: Int = 1 val b = 1 //类型自动推断为Int val c: Int //没有初始化时必须指定类型 c = 1 //初始化 可变变量, var 关键字开头 var x = 10 x

  • 利用SurfaceView实现下雨与下雪动画效果详解(Kotlin语法)

    前言 最近打算做一波东西巩固一下自己近期所学所得.话不多说,先看一下最终完成的效果图: 下雨.gif 这里比较懒--第二个图片中还是降雨--不过这不是关键点-- 下雪.gif 录制的mp4,转成了gif.第一个gif设置了帧率,所以看起来可能掉帧比较严重,但是实际上并不会,因为这里我也注意了1s要绘制60帧的问题.阅读本文需要一些基本的View知识和会一些基础Kotlin语法.说实话,就知识点来说,跟Kotlin是没多大关系的,只要懂基本的语法就可以了. 理清思路 在动手前先要理一下思路,从以下

  • Kotlin 基础语法详细介绍

    Kotlin 基础语法详细介绍 基础语法 定义包名 包名的定义应当在源文件的头部 package my.demo import java.util.* // ... 文件路径和包名并不要求匹配,源文件可以被放置在文件系统任意位置 参考:包 定义函数 函数有两个Int类型参数和Int类型返回值: fun sum(a: Int, b: Int): Int { return a + b } 函数体中只有一个表达式并且作为函数的返回值: fun sum(a: Int, b: Int) = a + b 函

  • Kotlin学习第一步 kotlin语法特性

    今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language),作为Android开发者,当然要逐步熟悉这门语言,第一步就要从语法开始学习. 在这之前,我们需要了解怎么使用Kotlin编写一个Android应用.对于Android Studio 3.0版本,我们在创建工程的时候直接勾选 Include Kotlin support 选项就可以了:对于3.0以前的版本,我们需要安装

  • Kotlin语法学习-变量定义、函数扩展、Parcelable序列化等简单总结

    Kotlin语法学习-变量定义.函数扩展.Parcelable序列化等简单总结 今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language),作为Android开发者,当然要逐步熟悉这门语言,第一步就要从语法开始学习. 在这之前,我们需要了解怎么使用Kotlin编写一个Android应用.对于Android Studio 3.0版本,我们在创建工程的时候直接勾选 Include

  • Kotlin编程基础语法编码规范

    目录 前言 文章总览 1.Kotlin基本语法 1.1 函数声明 1.2 程序主入口 1.3 变量 1.4 条件表达式 1.5 when表达式 1.6 空值与空检测 1.7 区间使用 2.Kotlin编码规范 总结 前言 上一篇我们认识了Kotlin编程语言,也搭建好开发环境.本篇就进入Kotlin的基础语法介绍,与其他编程语言一样,Kotlin也有自己的一套编码规范. 文章总览 1.Kotlin基本语法 1.1 函数声明 使用关键字 fun 声明: fun sum(a: Int, b: Int

  • Kotlin编程基础数据类型示例详解

    目录 本文总览 1.数值类型 2.布尔型 3.字符串 3.1 字符串字面值 3.2 字符串模板 4.数组 4.1 普通数组 4.2 原⽣类型数组 5.类型检测和类型转换 5.1 智能转换 5.2 is 与 !is 操作符 5.3 转换操作符: as 与 as? 总结 本文总览 上一篇学习了Kotlin基础语法知识,本篇开始会深入探讨一下Kotlin各个基础语法点.首先来熟悉Kotlin的数据类型和类型转换版块. 1.数值类型 在Kotlin中提供了数值类型: 整数类型:Byte,Short,In

  • python基础之编码规范总结

    一.PEP 8规范 官方文档:https://legacy.python.org/dev/peps/pep-0008/ 中文翻译: https://www.jb51.net/article/103944.htm 二.缩进 每一级缩进4个空格. 续行应该与包裹元素对齐,要么使用圆括号,方括号,花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐.当使用挂行缩进对齐时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行. 对齐缩进(左右括号对齐) def long_function_name

  • 浅谈JavaScript编程语言的编码规范

    JavaScript 编程语言作为最流行的客户端脚本语言,早已被众多 Web 开发人员所熟悉.随着 Web2.0 时代的到来和 Ajax 技术的广泛应用,JavaScript 也逐渐吸引着更多的视线.工作中要求越多的是对 JavaScript 语言的深入学习,灵活运用,和对编码质量的保证. 对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也

  • Python3 基础语法详解

    目录 编码 标识符 python保留字 注释 行与缩进 多行语句 数字(Number)类型 字符串(String) 空行 等待用户输入 同一行显示多条语句 多个语句构成代码组 print 输出 import 与 from...import 命令行参数 Python3 基础语法 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串.当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*- 上述定义允许在源文件中使

  • Python学习之基础语法介绍

    目录 前言 基础语法 编码 注释 行与缩进 多行语句 import 与 from-import 前言 Python环境的搭建这里就不赘述了,有需要的小伙伴可以在网上搜罗出很多教程,注意安装PyChom编辑工具.这次我们主要讲一下几点内容: 基础语法基本数据类型 首先,我们打开安装好的PyChom编辑工具创建第一个Python程序. 启动PyChom编辑工具后,需要创建一个新项目,选择"New Projec",或者"File ️ New Projec" 命名,可以看到

  • kotlin 官方学习教程之基础语法详解

    kotlin 官方学习教程之基础语法详解 Google 在今天的举行了 I/O 大会,大会主要主要展示内有容 Android O(Android 8.0)系统.Google Assistant 语音助手.Google 智能音箱.人工智能.机器学习.虚拟现实等.作为一个 Android 开发者,我关心的当然是 Android O(Android 8.0)系统了,那么关于 Android O 系统的一个重要消息是全面支持 Kotlin 编程语言,使得 Kotlin 成为了 Android 开发的官方

  • Scala函数式编程专题--scala基础语法介绍

    上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.

随机推荐