iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
Mobile Development

雙平台APP小遊戲開發實作! Swift & Kotlin 攜手出擊~系列 第 3

[Day03] swift & kotlin 入門篇!(1) 基礎語法-變數與常數宣告

章節說明

在開始寫APP之前
我們需要先對 Swift&Kotlin 的語法有基本上的認知
先練會使用工具 才能使用工具打造產品喔~

接下來的章節內容
我們會假設你已有基本的程式語言概念
如果遇到你看不懂的名詞
再請留言或自己Google查資料

練習環境

為了快速方便的上手
熟悉基本語法階段 我們使用 Only Playground

語言 網址
swift http://online.swiftplayground.run/
Kotlin https://play.kotlinlang.org/

以上兩個環境都在輸入完程式後
點選播放箭頭就可以執行了

Swift-變數與常數宣告

var swiftVariable = 10 // 宣告一個變數 swiftVariable 數值 10
print(swiftVariable) // 印出 swiftVariable 到控制台
swiftVariable = 20 // 將 swiftVariable 變更成 20

let swiftConstant = 30 // 宣告一個常數 swiftConstant 數值 30
// swiftConstant = 44 let定義常數 無法修改 如果執行這段 會編譯錯誤
print(swiftVariable)
print(swiftConstant)

-------- 控制台 輸出內容 ------------
10
20
30

以上範例是自動判斷類別
專有名詞叫隱式類別

接下來示範顯式類別

var swiftVariable: Int = 10
print(swiftVariable)
swiftVariable = 20

let swiftConstant: Int = 30
// swiftConstant = 44 let定義常數 如果執行這段 會編譯錯誤
print(swiftVariable)
print(swiftConstant)

-------- 控制台 輸出內容 ------------
10
20
30

整個感覺很像前端在撰寫 TypeScript
整個寫法蠻親切的
只是let在TypeScript是區域變數
在swift是常數使用

Kotlin-變數與常數宣告

fun main() {
    var kotlinVariable = 10
    println(kotlinVariable)
    kotlinVariable = 20

    val kotlinConstant = 30
    // kotlinConstant = 44 val定義常數 如果執行這段 會編譯錯誤
    println(kotlinVariable)
    println(kotlinConstant)
}

-------- 控制台 輸出內容 ------------
10
20
30

以上範例是自動判斷類別
接下來示範顯示類別

fun main() {
    var kotlinVariable: Int = 10
    println(kotlinVariable)
    kotlinVariable = 20

    val kotlinConstant: Int = 30
    // kotlinConstant = 44 val定義常數 如果執行這段 會編譯錯誤
    println(kotlinVariable)
    println(kotlinConstant)
}

-------- 控制台 輸出內容 ------------
10
20
30

是的你沒看錯
除了結構在Kotlin需要包一層main()外
語法只差在
Swift用let定義常數
Kotlin用val定義常數

Kotlin裡面其實也有 const 做為常數定義
他有較深入使用情境 有興趣的自己去爬文
這邊就不特別說明

就這樣喔~

語法補充說明1 - print

Kotlin的print有分

println("會換行的輸出")  
print("不換行的輸出")

Swift的print預設就是換行輸出
如果你特別不想換行!
需要這樣處理

print("我不要換行!!", terminator: "")

語法補充說明2 - var val let

常常看到var val let
你知道他們分別代表什麼嗎?
var(variable,即變數)
val(value,即固定值)

let 的出處就有趣了.....
他在JS的意義並不是常數而是區域變數
但到了Swift卻變成常數宣告

let關鍵字出自早期語言(Scheme/Basic)
他表一種更深層的概念

可以賦值的變量,但沒有改變

let更偏向數學用詞 請自行想像

let x be arbitrary real number

小碎嘴時間 ヽ(゚´Д`)ノ゚

每次學一個新語言的時候
就開始困惑 為什麼都是程式
你們卻要互相打臉?
同一個關鍵字 let const val ....
你們在不同地方就要不一樣?????

不都是同一個媽生的嗎?何苦為難對方?
java他媽也是電腦
swift他媽也是電腦啊
Kotlin他媽難道也不是電腦嗎????

疑? 手機應該算電腦吧? 是吧....?
所以Android跟IOS算....夫妻還是兄妹?
(๑¯∀¯๑)


上一篇
[Day02] swift & kotlin 都我的!雙平台史詩級 愛恨糾葛♥
下一篇
[Day04] swift & kotlin 入門篇!(2) 基礎語法-型別
系列文
雙平台APP小遊戲開發實作! Swift & Kotlin 攜手出擊~30

1 則留言

0
Leo
iT邦新手 5 級 ‧ 2021-09-13 09:47:40

看完腦中出現一句台詞

人和妖精都是媽生的,不同的人是人他媽生的,妖是妖他媽生的,人和妖是沒有本質的區別的,一個妖一旦有了人的感情,那他就不是要了,是人妖

Ami iT邦新手 5 級 ‧ 2021-09-14 09:31:20 檢舉

大話西游

這部對吧!!

我要留言

立即登入留言