Kotlin 與 Swift 語法對照:跨平台開發者 (2025年)

Kotlin 與 Swift 語法對照表(2025 年版) 在行動應用開發中, Kotlin 與 Swift 分別是 Android 與 iOS 的主流語言。雖然語法有些差異,但其實它們有很多相似之處。本文整理了常用的語法對照表,方便跨平台開發者快速上手。 1. 變數宣告 // Kotlin val name: String = "Alice" // 常數 var age: Int = 25 // 可變數 // Swift let name: String = "Alice" // 常數 var age: Int = 25 // 可變數 2. 條件判斷 // Kotlin if (age >= 18) { println("Adult") } else { println("Minor") } // Swift if age >= 18 { print("Adult") } else { print("Minor") } 3. 函式定義 // Kotlin fun greet(name: String): String { return "Hello, $name!" } // Swift func greet(_ name: String) -> String { return "Hello, \(name)!" } 4. 陣列與迴圈 // Kotlin val fruits = listOf("Apple", "Banana", "Cherry") for (fruit in fruits) { println(fruit) } // Swift let fruits = ["Apple", "Banana", "Cherry"] for fruit in fruits { print(f...

[Linux] A Unix process: init

markdown
簡單而言,init是Linux系統開機的過程會先執行的行程(process)

它會去產生其他所有行程,而該行程的PID為1



行程號(PID, process identifier)是OS用來標識唯一行程的代號

函式呼叫某個行程時,會以PID作為參數

除了PID0(PID為0的行程)以外的所有行程,都是由其他行程使用系統呼叫fork()函式建立

原行程為父行程(Parent Process),建立的行程稱為子行程(Child Process)

一個父行程可以有多個子行程,但一個子行程只會有一個父行程


Linux系統開機時,會先載入Linux內核

而後Linux內核會載入init,再由init完成其餘的開機過程



Linux系統的PID0是系統開機時建立的特殊行程

它會呼叫fork()函式建立PID1(也就是init),再由PID1去呼叫各式行程執行其他動作

PID0是PID1的Parent Process,PID1則是其他所有行程的Parent Process

大部分的系統PID1都是init,其他則不盡相同


在init中,定義了幾種不同的執行模式,或稱執行級別(Runlevel)

各家系統的執行模式可能有所不同

但其中0、1(或稱S、s)、6會是一樣的,被稱作Standard Runlevels

 模式(Runlevel)   說明 
 0   關機(halt) 
 1(S or s)   單使用者(Single-user mode) 
 2   多使用者、無網路(Multi-user without networking) 
 3   多使用者、有網路(Multi-user with networking) 
 4   未使用、使用者自定 (Not used/User-definable) 
 5   多使用者、圖形介面 (Multi-user mode, with GUI) 
 6   重新啟動 (Reboot) 

系統登入後,也可以透過init指令改變執行模式

如欲重新開機可以輸入  $ init 6

要關機就輸入  $ init 0

參考資料
- [init - 維基百科(中/英)](https://zh.wikipedia.org/wiki/Init)
- [行程ID - 維基百科](https://zh.wikipedia.org/wiki/%E8%BF%9B%E7%A8%8BID)
- [父行程 - 維基百科](https://zh.wikipedia.org/wiki/%E7%88%B6%E8%BF%9B%E7%A8%8B)
- [執行級別 - 維基百科(中/英)](https://zh.wikipedia.org/wiki/%E8%BF%90%E8%A1%8C%E7%BA%A7%E5%88%AB)
- [SiB 在部落格說過: 更改 Fedora 18 的「運行等級」](http://sibsaidinblog-tw.blogspot.tw/2013/01/fedora-18.html)
- [鳥哥的Linux私房菜 -- 第十九章、開機流程、模組管理與Loader](http://linux.vbird.org/linux_basic/0510osloader.php)
- [linux 下的init 0,1,2,3,4,5,6知识介绍 - My Oracle Recipe - CSDN博客](http://blog.csdn.net/cougar_mountain/article/details/9798191)

留言

這個網誌中的熱門文章

【Ubuntu】Terminal 複製貼上的方法 Copy & Paste

【Ubuntu】關閉預設畫面自動鎖定

[Java] HashMap資料結構簡介與用法