<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
上一篇我們認識了Kotlin程式語言,也搭建好開發環境。本篇就進入Kotlin的基礎語法介紹,與其他程式語言一樣,Kotlin也有自己的一套編碼規範。
使用關鍵字 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 返回型別可以省略
Kotlin 程式的入口是 main
函數,與 Java 是一樣的。
fun main() { println("Hello world!") // 列印字串 }
程式在執行時,會先進入 main 函數開始執行。
val
定義val a: Int = 1 // ⽴即賦值 val b = 2 // ⾃動推斷出 `Int` 型別 val c: Int // 如果沒有初始值型別不能省略 c = 3 // 明確賦值
var
定義var x = 5 // ⾃動推斷出 `Int` 型別 x += 1 // x重新賦值
這與 Java 有很大區別,不用指定變數的型別,有編譯器自動推斷出來。
與 Java 中的 if 語句一樣
if (a > b) { return a } else { return b }
在 Kotlin中 if
也可以⽤作表示式,更加簡便
fun max(a: Int, b: Int) = if (a > b) a else b
when 將它的引數與所有的分⽀條件順序⽐較,直到某個分⽀滿⾜條件
when (obj) { 1 -> "One" "Hello" -> "Greeting" is Long -> "Long" !is String -> "Not a string" else -> "Unknown" }
可以類比 Java 中的 switch 語句。
一個表示式或者一個變數可以為Null, 在Kotlin中可以使用 ?
來結尾表示
fun parseInt(str: String): Int? { // …… } // 函數返回值可為空,當返回值 不是 Int 型別,返回值就是Null
這一特性解決了 Java 中一老大難的問題:NullpointException 空指標報錯問題,在日常開發中幫開發者提高了不少開發效率和減少了不少bug。
使⽤ in
操作符來檢測某個數位是否在指定區間內
val x = 10 val y = 9 if (x in 1..y+1) { println("in range") }
這個特性可以運用到 區間和數列中。
目錄結構:可以類比 Java 專案,包名的規則:小寫字母,公司/組織域名反寫
程式碼原始檔:以 .kt 為擴充套件名,命名規則首字母大寫的駝峰風格,例如 HelloWorld.kt
命名規則:
檔案註釋:
程式碼縮排風格要統一
註解:將註解放在單獨的⾏上,在它們所依附的宣告之前,並使⽤相同的縮排
.
字元或者 ?.
操作符放在下⼀⾏,帶有縮排.
或者 ?.
左右留空格: foo.bar().filter { it > 2 }.joinToString() , foo?.bar()
//
之後留⼀個空格: // 這是⼀條註釋class Map { …… }
::
前後留空格: Foo::class 、String::length
?
前留空格: String?
本文主要講解 Kotlin 常用的基本語法,後續會針對特定的知識點展開學習,同時學習了Kotlin 編碼規範,對日常規範編寫程式碼是非常有幫助。
以上就是Kotlin程式設計基礎語法編碼規範的詳細內容,更多關於Kotlin 語法編碼規範的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45