iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
Mobile Development

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

[Day04] swift & kotlin 入門篇!(2) 基礎語法-型別

swift型別

swift在類別上是蠻強硬的語言
來看看型別上的使用吧

// 整數
let intA = 10 // 自動判斷型別
let int_b: Int // 可先不給預設值, 但必須先給型別
let int_c: Int = 10 // 也可以宣告完值接給值
// let int_d //執行這行會出錯 因為未定義型別下 必須給初始值

// 字串
let string_a = "10" // 自動判斷型別
let string_b: String // 可先不給預設值, 但必須先給型別
let string_c: String = "10" // 也可以宣告完值接給值
// let string_d  //執行這行會出錯 因為未定義型別下 必須給初始值

// 浮點數
let xfloat_a =  1.0 // 如果沒有寫型別, 浮點數都會判斷成 Double , 這裡不會是Float
let float_b: Float  // 可先不給預設值, 但必須先給型別
let float_c: Float = 1.0 // 也可以宣告完值接給值
let double_a = 1.99 // 如果沒有寫型別, 浮點數都會判斷成 Double
let double_b: Double  // 可先不給預設值, 但必須先給型別
let double_c: Double = 1.99 // 也可以宣告完值接給值

//布林
let bool_a=true // 自動判斷型別
let bool_b=false // 自動判斷型別
let bool_c:Bool  // 可先不給預設值, 但必須先給型別
let bool_d:Bool=true // 也可以宣告完值接給值

//陣列
let emptyArray = [String]()
var array1 = ["test"]

// 錯誤使用範例
// print(int_b) //執行此行 直接列印未初始化的常數 會噴錯
int_b = 11 // 給值
print(int_b) //給值後列印會正確
//int_b = 22 //執行此行 會噴錯 let是常數 給值後無法修改

-------- 控制台輸出 ------------
11

基本的型別宣告與使用
比較需要注意的是 未給初始化值就拿來用的狀況
這邊會直接編譯錯誤 這種做法我蠻喜歡的
過去寫程式有時會踩到
未給預設值 系統自動幫你補上時
那個值不是我們要的 這種雷

kotlin型別

fun main() {
    // 整數
    val intA = 10
    val int_b: Int
    val int_c: Int = 10
    // let int_d //執行這行會出錯 因為未定義型別下 必須給初始值

    // 字串
    val string_a = "10"
    val string_b: String
    val string_c: String = "10"
    // let string_d  //執行這行會出錯 因為未定義型別下 必須給初始值

    // 浮點數
    val float_a =  1.0f
    val float_b: Float
    val float_c: Float = 1.0F //1.0 //需加上 F 否則將認定為 Double 型態
    val double_a = 1.99
    val double_b: Double
    val double_c: Double = 1.99

    //布林
    val bool_a=true
    val bool_b=false
    val bool_c:Boolean
    val bool_d:Boolean=true

    //陣列
    val emptyArray = emptyArray<String>()
    val array1 = arrayOf("test")

    // 錯誤使用範例
    // print(int_b) //執行此行 直接列印未初始化的常數 會噴錯
    int_b = 11
    println(int_b) //給值後列印會正確
    //int_b = 22 //執行此行 會噴錯 let是常數 給值後無法修改
}

-------- Console ------------
11

基本型別上大致相同
但kotlin浮點數給予需要加上f
而在語法上有略微不同而已
尤其是陣列操作上看起來比較複雜
詳細的陣列操作等等, 等後面實作有需要時再來說明

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

想到自己剛學程式的時候
老師在台上說...

數字不只是數字,1 不等於1.0 更不等於 "1.00"

聽的我一臉懵逼 看他在台上裝逼
等到了現在想一想....
這招拿來唬人還真D猛
看似哲學又像玄學 別人聽了好想學
真的教了你 馬上就想退學!
(๑¯∀¯๑)      (☍﹏⁰)


上一篇
[Day03] swift & kotlin 入門篇!(1) 基礎語法-變數與常數宣告
下一篇
[Day05] swift & kotlin 入門篇!(3) 基礎語法-字串
系列文
雙平台APP小遊戲開發實作! Swift & Kotlin 攜手出擊~30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言