欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kotlin編程基礎(chǔ)語(yǔ)法編碼規(guī)范

 更新時(shí)間:2022年08月20日 11:36:23   作者:南巷羽  
這篇文章主要為大家介紹了Kotlin編程條件控制示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

上一篇我們認(rèn)識(shí)了Kotlin編程語(yǔ)言,也搭建好開發(fā)環(huán)境。本篇就進(jìn)入Kotlin的基礎(chǔ)語(yǔ)法介紹,與其他編程語(yǔ)言一樣,Kotlin也有自己的一套編碼規(guī)范。

文章總覽

1.Kotlin基本語(yǔ)法

1.1 函數(shù)聲明

使用關(guān)鍵字 fun 聲明:

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

以上函數(shù)有倆個(gè) int 參數(shù):a , b;返回值為 Int 類型值。

在Kotlin中,返回值類型可以自行推斷,函數(shù)體可以是表達(dá)式:這與Java是有區(qū)別的,直接用 = 相連

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

無(wú)返回值的函數(shù),使用 Unit 為寫法更簡(jiǎn)便可以將 Unit 省略。

fun printSum(a: Int, b: Int): Unit { 
    println("sum of $a and $b is ${a + b}") 
}
// Unit 返回類型可以省略

1.2 程序主入口

Kotlin 程序的入口是 main函數(shù),與 Java 是一樣的。

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

程序在執(zhí)行時(shí),會(huì)先進(jìn)入 main 函數(shù)開始執(zhí)行。

1.3 變量

  • 只讀局部變量(常量) 使用 val 定義
val a: Int = 1 // ?即賦值 
val b = 2 // ?動(dòng)推斷出 `Int` 類型 
val c: Int // 如果沒有初始值類型不能省略 
c = 3 // 明確賦值
  • 可重新賦值變量 使用 var 定義
var x = 5 // ?動(dòng)推斷出 `Int` 類型 
x += 1 // x重新賦值

這與 Java 有很大區(qū)別,不用指定變量的類型,有編譯器自動(dòng)推斷出來(lái)。

1.4 條件表達(dá)式

與 Java 中的 if 語(yǔ)句一樣

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

在 Kotlin中 if 也可以?作表達(dá)式,更加簡(jiǎn)便

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

1.5 when表達(dá)式

when 將它的參數(shù)與所有的分?條件順序?較,直到某個(gè)分?滿?條件

when (obj) { 
    1 -> "One" 
    "Hello" -> "Greeting" 
    is Long -> "Long" 
    !is String -> "Not a string" 
    else -> "Unknown" 
}

可以類比 Java 中的 switch 語(yǔ)句。

1.6 空值與空檢測(cè)

一個(gè)表達(dá)式或者一個(gè)變量可以為Null, 在Kotlin中可以使用 來(lái)結(jié)尾表示

fun parseInt(str: String): Int? { // …… }  
// 函數(shù)返回值可為空,當(dāng)返回值 不是 Int 類型,返回值就是Null

這一特性解決了 Java 中一老大難的問題:NullpointException 空指針報(bào)錯(cuò)問題,在日常開發(fā)中幫開發(fā)者提高了不少開發(fā)效率和減少了不少bug。

1.7 區(qū)間使用

使? in 操作符來(lái)檢測(cè)某個(gè)數(shù)字是否在指定區(qū)間內(nèi)

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

這個(gè)特性可以運(yùn)用到 區(qū)間和數(shù)列中。

2.Kotlin編碼規(guī)范

目錄結(jié)構(gòu):可以類比 Java 項(xiàng)目,包名的規(guī)則:小寫字母,公司/組織域名反寫

代碼源文件:以 .kt 為擴(kuò)展名,命名規(guī)則首字母大寫的駝峰風(fēng)格,例如 HelloWorld.kt

命名規(guī)則:

  • 類與對(duì)象的名稱以大寫字母開頭并使用駝峰風(fēng)格
  • 包的名稱總是小寫且不使用下劃線

文檔注釋:

  • 多行注釋
  • 單行注釋

代碼縮進(jìn)風(fēng)格要統(tǒng)一

注解:將注解放在單獨(dú)的?上,在它們所依附的聲明之前,并使?相同的縮進(jìn)

  • 鏈?zhǔn)秸{(diào)用:對(duì)鏈?zhǔn)秸{(diào)?換?時(shí),將 . 字符或者 ?. 操作符放在下??,帶有縮進(jìn)
  • 不在 . 或者 ?. 左右留空格: foo.bar().filter { it > 2 }.joinToString() , foo?.bar()
  • // 之后留?個(gè)空格: // 這是?條注釋
  • 不要在?于指定類型參數(shù)的尖括號(hào)前后留空格: class Map { …… }
  • 不要在 :: 前后留空格: Foo::class 、String::length
  • 不要在?于標(biāo)記可空類型的 ? 前留空格: String?

總結(jié)

本文主要講解 Kotlin 常用的基本語(yǔ)法,后續(xù)會(huì)針對(duì)特定的知識(shí)點(diǎn)展開學(xué)習(xí),同時(shí)學(xué)習(xí)了Kotlin 編碼規(guī)范,對(duì)日常規(guī)范編寫代碼是非常有幫助。

以上就是Kotlin編程基礎(chǔ)語(yǔ)法編碼規(guī)范的詳細(xì)內(nèi)容,更多關(guān)于Kotlin 語(yǔ)法編碼規(guī)范的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹

    Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹

    這篇文章主要介紹了Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 如何用Go判斷元素是否在切片中

    如何用Go判斷元素是否在切片中

    切片(Slice)是一個(gè)擁有相同類型元素的可變長(zhǎng)度的序列,下面這篇文章主要給大家介紹了關(guān)于如何用Go判斷元素是否在切片中的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 深入淺出go依賴注入工具Wire的使用

    深入淺出go依賴注入工具Wire的使用

    但隨著項(xiàng)目規(guī)模的增長(zhǎng),組件之間的依賴關(guān)系變得復(fù)雜,手動(dòng)管理可能會(huì)很繁瑣,所以本文將深入探討一個(gè)備受歡迎的?Go?語(yǔ)言依賴注入工具——?Wire,感興趣的可以了解下
    2023-09-09
  • 輕松讀懂Golang中的數(shù)組和切片

    輕松讀懂Golang中的數(shù)組和切片

    這篇文章主要給大家介紹了關(guān)于Golang中數(shù)組和切片的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者Golang具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Golang?PHP?數(shù)據(jù)綁定示例分析

    Golang?PHP?數(shù)據(jù)綁定示例分析

    這篇文章主要為大家介紹了Golang?PHP?數(shù)據(jù)綁定示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 一文帶你熟悉Go語(yǔ)言中函數(shù)的使用

    一文帶你熟悉Go語(yǔ)言中函數(shù)的使用

    這篇文章主要和大家分享一下Go語(yǔ)言中的函數(shù)的使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的小伙伴可以參考一下
    2022-11-11
  • vscode配置go開發(fā)環(huán)境的實(shí)戰(zhàn)過程

    vscode配置go開發(fā)環(huán)境的實(shí)戰(zhàn)過程

    vscode配置go的開發(fā)環(huán)境很簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于vscode配置go開發(fā)環(huán)境的實(shí)戰(zhàn)過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 一文了解Go語(yǔ)言的并發(fā)特性

    一文了解Go語(yǔ)言的并發(fā)特性

    本文主要介紹了一文了解Go語(yǔ)言的并發(fā)特性,通過輕量級(jí)線程、通道及選擇語(yǔ)句,使得并發(fā)編程變得既簡(jiǎn)單又高效,下面就來(lái)具體了解一下如何使用,感興趣的可以了解一下
    2024-02-02
  • Golang開發(fā)中常用的代碼片段匯總

    Golang開發(fā)中常用的代碼片段匯總

    這篇文章主要給大家匯總了在Golang開發(fā)中常用的代碼片段,這些代碼片段都是在日常工作中編寫golang應(yīng)用時(shí)使用到,需要的朋友可以參考借鑒,下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • Go routine使用方法講解

    Go routine使用方法講解

    goroutine是Go語(yǔ)言提供的語(yǔ)言級(jí)別的輕量級(jí)線程,在我們需要使用并發(fā)時(shí),我們只需要通過go關(guān)鍵字來(lái)開啟goroutine即可。這篇文章主要介紹了GoLang并發(fā)機(jī)制goroutine原理,感興趣的可以了解一下
    2023-01-01

最新評(píng)論