Open in app

Sign In

Write

Sign In

Andy Lu
Andy Lu

374 Followers

Home

Lists

About

May 8

用 Kotlin 實作 DSL — 以 JSON 為範例

近年來,聲明式程式語言(Declarative programming)逐漸的出現在現代程式語言中,其中不泛包括了 Flutter、Jetpack Compose…,使用聲明式程式語言,我們實作時考慮的就會是怎麼去完成(What to do),而不是如何去完成(How to do)。 Domain Specific Language (DSL) …

Kotlin

10 min read

用 Kotlin 實作 DSL — 以 JSON 為範例
用 Kotlin 實作 DSL — 以 JSON 為範例
Kotlin

10 min read


Apr 25

[Kotlin 小撇步 #11] 使用 Enum.entries 取代 Enum.values()

Kotlin 1.8.20 新改動 當我們建立函式/類別的時候,為了要儲存狀態,可能會直接使用基本型別,如下 GameScore 類別中,包含了一個型別為 String 的等級(grade): class GameScore(val grade: String) 使用這個類別的時候,我們必須將型別為 String 的等級存入,如下: GameScore( …

Kotlin

4 min read

[Kotlin 小撇步 #11] 使用 Enum.entries 取代 Enum.values()
[Kotlin 小撇步 #11] 使用 Enum.entries 取代 Enum.values()
Kotlin

4 min read


Apr 17

[KotlinConf 2023] 那些令人期待的 Kotlin 2.0 新功能

2023年的 KotlinConf 在阿姆斯特丹舉辦了三天的研討會,在會中也公布了在 Kotlin 2.0 中預計會推出的新功能。在這些功能當中,有些項目已經能夠上線了,而有些需要更多的討論才能做出最後的結論。那麼是哪些功能會在 Kotlin 2.0 推出呢?下面我們將針對 Keynote 上介紹的內容,一一來介紹給各位: Static extens …

Kotlin

11 min read

[KotlinConf 2023] 那些令人期待的 Kotlin 2.0 新功能
[KotlinConf 2023] 那些令人期待的 Kotlin 2.0 新功能
Kotlin

11 min read


Mar 14

使用 Kotlin Bytecode 學習、Debug

Kotlin 最重要的特點之一:能 100% 與 Java 交互使用,所有在 Kotlin 內所寫的程式碼都能夠轉成 Kotlin Bytecode,接著再將 Bytecode 反組譯(Decompile)成 Java Code。透過這樣子的動作,我們就可以將 Kotlin 的程式碼以 Java 來呈現,如果你對於 Java 比較熟悉一點,這樣的 …

Kotlin

6 min read

使用 Kotlin Bytecode 學習、Debug
使用 Kotlin Bytecode 學習、Debug
Kotlin

6 min read


Feb 3

[Kotlin 小撇步 #10]不可變的資料類別及防禦性複製

在 Kotlin 中,可以使用 val 、var 來決定變數能不能被修改,其中 val 表示該屬性是不可以變動的,而 var 則為可以變動的。 我們經常會使用 data class建立一個資料類別(Data Class)時,在建構式就必須要決定要使用 val或是 var。為了讓資料類別能夠將資料妥善的封裝在裡面,不會在意外的時間被修改,通常我們會使用 …

Kotlin

10 min read

[Kotlin 小撇步 #10]不可變的資料類別及防禦性複製
[Kotlin 小撇步 #10]不可變的資料類別及防禦性複製
Kotlin

10 min read


Dec 8, 2022

Kotlin in Advent Of Code 2022 — Day3

Day3 ## Rucksack Reorganization 完整的題目可參考:Day 3 — Advent of Code 2022 Part I 每一行都代表一個背包,而每一個背包都含有兩個隔層,我們需要找出這個背包所裝的物品類型,而物品的類型為兩個隔層相同的字元。 以測試內容來看,第一行的 vJrwpWtwJgWrhcsFMMfFFhFp 前半部為 vJrwpWtwJgWr ,後半部為 hcsFMMfFFhFp,其中相同的 …

Kotlin

7 min read

Kotlin

7 min read


Dec 5, 2022

Kotlin in Advent Of Code 2022 — Day1

又來到一年一度的 Advent Of Code 的挑戰,去年只挑戰了8題,希望今年能夠挑戰多一點 XD Day1 Calorie Counting 完整的題目可參考:Day1 Part I 根據題目,我們需要從輸入的列表計算出最大的卡路里,而在輸入值中,是以 "" 作為分段,所以我們要把 "" 當作分隔的條件,將每一段的數字加起來,找出最大的那個值。 一開始的思路,是想說要如何以 "" 作為分割條件,讓輸 …

Kotlin

3 min read

Kotlin

3 min read


Oct 5, 2022

Kotlin Coroutine X Functional Programming

What’s Coroutine? Coroutine 在 Kotlin 1.3 版的時候推出,它是一種非同步任務的解決方案,如果用一句話形容,可以看作是一個輕量型的執行緒(Thread)。雖然 Coroutine 的背後也是在執行緒上執行,但是與直接使用執行緒不同的是,一個執行緒上能夠同時執行多個 Coroutine,啟動相同數量的非同步任務,使用 Coroutine 比起直接使 …

Kotlin

24 min read

Kotlin Coroutine X Functional Programming
Kotlin Coroutine X Functional Programming
Kotlin

24 min read


Jul 28, 2022

Functional Programming in Kotlin (3)

命令式程式設計 VS 宣告式程式設計 — 探討這兩種程式設計之前,我們先看一個範例,假設有一個列表,這個列表裡面儲存著每個學生的分數,其中包含數學、國語以及英文,如果我們希望將這個列表轉換成由姓名與數學分數組成的 Map,而我們只希望取前三名即可。 其中,這個列表裡面所儲存的類別為 Score,內容如下: data class Score(val name: String, val math: …

Kotlin

5 min read

Functional Programming in Kotlin (3)
Functional Programming in Kotlin (3)
Kotlin

5 min read


Jul 18, 2022

Functional Programming in Kotlin (2)

FP 的三大類函式 — 前一篇文章介紹 FP 的概念,接下來繼續介紹的是在使用 FP 時,一定會出現的三大類函式,這三大類函式分別是: 過濾(filter) 轉換(transform) 合併(combine) 下面的文章,我將一一介紹這三類函式的差異。 過濾 (Filter) 過濾,是把我們傳入的 List 根據條件篩選出我們希望留下來的值。所以它的類型並不會改變,例如原本輸入的值為 List<In …

Kotlin

10 min read

Functional Programming in Kotlin (2)
Functional Programming in Kotlin (2)
Kotlin

10 min read

Andy Lu

Andy Lu

374 Followers

Android/Flutter developer, Kotlin Expert, like to learn and share.

Following
  • 行銷資料科學

    行銷資料科學

  • Daniel Kao

    Daniel Kao

  • Radhika S

    Radhika S

  • 賴澤霖

    賴澤霖

  • Paolo Rotolo

    Paolo Rotolo

See all (189)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams