最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

文章總覽

1.Kotlin基本語法

1.1 函數(shù)聲明

使用關鍵字 fun 聲明:

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

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

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

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

無返回值的函數(shù),使用 Unit 為寫法更簡便可以將 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í)行時,會先進入 main 函數(shù)開始執(zhí)行。

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 有很大區(qū)別,不用指定變量的類型,有編譯器自動推斷出來。

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 將它的參數(shù)與所有的分?條件順序?較,直到某個分?滿?條件

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? { // …… }  
// 函數(shù)返回值可為空,當返回值 不是 Int 類型,返回值就是Null

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

1.7 區(qū)間使用

使? in 操作符來檢測某個數(shù)字是否在指定區(qū)間內

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

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

2.Kotlin編碼規(guī)范

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

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

命名規(guī)則:

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

文檔注釋:

  • 多行注釋
  • 單行注釋

代碼縮進風格要統(tǒng)一

注解:將注解放在單獨的?上,在它們所依附的聲明之前,并使?相同的縮進

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

總結

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

以上就是Kotlin編程基礎語法編碼規(guī)范的詳細內容,更多關于Kotlin 語法編碼規(guī)范的資料請關注腳本之家其它相關文章!

相關文章

  • golang 打印error的堆棧信息操作

    golang 打印error的堆棧信息操作

    這篇文章主要介紹了golang 打印error的堆棧信息操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • 深入理解GO語言的面向對象

    深入理解GO語言的面向對象

    相信很多人當初開發(fā)go語言的時候就是因為C++的特性太過于繁雜,從而使得很多C++的開發(fā)者因為C++的特性而頭疼,go語言成功的精簡了C++的特性,使其很簡潔,很少的特性,卻可以完成很多的事情。下面我們就來詳細理解下GO語言的面向對象。
    2016-10-10
  • 使用Go實現(xiàn)一個百行聊天服務器的示例代碼

    使用Go實現(xiàn)一個百行聊天服務器的示例代碼

    前段時間, redis作者整了個c語言版本的聊天服務器,代碼量攏共不過百行,于是, 心血來潮下, 我也整了個Go語言版本, 簡單來說就是實現(xiàn)了一個聊天室的功能,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Golang設計模式之工廠方法模式講解和代碼示例

    Golang設計模式之工廠方法模式講解和代碼示例

    工廠方法是一種創(chuàng)建型設計模式, 解決了在不指定具體類的情況下創(chuàng)建產(chǎn)品對象的問題,本文將通過代碼示例詳細給大家介紹一下Golang工廠方法模式,感興趣的同學可以參考一下
    2023-06-06
  • Golang中使用Mqtt的方法示例

    Golang中使用Mqtt的方法示例

    本文介紹了Golang中使用paho.mqtt.golang庫實現(xiàn)MQTT客戶端與服務器的連接、訂閱和消息收發(fā),具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Go語言中的Array、Slice、Map和Set使用詳解

    Go語言中的Array、Slice、Map和Set使用詳解

    這篇文章主要介紹了Go語言中的Array、Slice、Map和Set使用詳解,本文給出了它們的創(chuàng)建、使用、多維等代碼實例,需要的朋友可以參考下
    2014-10-10
  • 詳解Golang中的Mutex并發(fā)原語

    詳解Golang中的Mutex并發(fā)原語

    Mutex?是?Go?語言中互斥鎖的實現(xiàn),它是一種同步機制,用于控制多個?goroutine?之間的并發(fā)訪問。本文將著重介紹?Go?的?Mutex?并發(fā)原語,希望對大家有所幫助
    2023-03-03
  • Go語言中一些不常見的命令參數(shù)詳解

    Go語言中一些不常見的命令參數(shù)詳解

    這篇文章主要給大家介紹了關于Go語言中一些不常見的命令參數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12
  • golang 歸并排序,快速排序,堆排序的實現(xiàn)

    golang 歸并排序,快速排序,堆排序的實現(xiàn)

    本文主要介紹了golang 歸并排序,快速排序,堆排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • golang中使用sync.Map的方法

    golang中使用sync.Map的方法

    這篇文章主要介紹了golang中使用sync.Map的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論

时尚| 吴桥县| 醴陵市| 滦平县| 渭南市| 沂南县| 承德市| 南皮县| 湾仔区| 开封市| 大埔县| 永登县| 南皮县| 苏尼特右旗| 繁峙县| 鸡东县| 滨州市| 新密市| 肥东县| 沾化县| 闵行区| 宁武县| 涪陵区| 丽水市| 高雄市| 蒲江县| 邵阳县| 二连浩特市| 辽阳市| 柳林县| 小金县| 盱眙县| 酉阳| 海南省| 平阳县| 恭城| 阳东县| 剑阁县| 永登县| 谢通门县| 昭通市|