Clio lang 簡介:輕鬆交付性能關鍵型 JS

語言: CN / TW / HK
JavaScript 的運行時是單線程的,這使得它不適用於性能關鍵型操作。 雖然您可以在代碼中實現多線程,但仍然需要一種默認利用多線程的編程語言。

什麼是Clio?

這就是 Clio 的用武之地。根據文檔,Clio 編程語言為多核使用提供了開箱即用的支持。這意味着它可以毫無問題地在雲和集羣上運行。

此外,Clio 將其代碼編譯為 JavaScript,因此如果您的機器可以運行 JavaScript,那麼它絕對能夠毫無問題地運行 Clio 代碼。

開始使用 Clio

運行 Clio 代碼

Clio 有一個安裝程序,但目前無法正常工作。因此,我們將在本文中使用在線編譯器。

創建“Hello World”應用程序

在Clio Playground中,編寫以下代碼:

export fn main:
console.log "Hello, World!"

在第 1 行中,創建 main 方法,就像其他編程語言一樣,Clio 需要一個 main 方法。最後,我們將使用 export 關鍵字導出此功能,這使它能夠運行。

現在,運行代碼。這將是結果:

太棒了!我們的代碼有效。現在讓我們繼續學習 Clio 的基礎知識。

在 Clio 中聲明常量

要聲明常量,您必須使用以下語法:

<value> => <variable_name>

您可以聲明一個字符串,如下所示:

"LogRocket" => websiteName

這會將值“LogRocket”分配給名為 websiteName 的變量。

同樣,您可以聲明一個整數和一個布爾值:

9 => numberNine
10>3 => result

首先,我們創建一個名為 numberNine 的變量,並將其賦值為 9 。然後,我們創建一個名為 result 的變量。數字 10 是否大於 3?然後為它分配 false

要在命令行中顯示這些常量,請編寫以下代碼:

export fn main:
9 => numberNine
10>3 => result
"LogRocket" => websiteName
console.log numberNine
console.log result
console.log websiteName
console.log f"Name of website is: {websiteName}"

在第 5-7 行,我們顯示了我們之前聲明的變量的值,然後我們顯示了一個字符串並在最後附加了 websiteName 的值。這將是結果:

太棒了!我們的代碼有效。

在 Clio 中聲明函數

要聲明函數,請使用以下語法:

fn <function_name> <parameter 1> <parameter 2> 
<code logic goes here>

例如,這段代碼將兩個數字相乘並返回一個值:

fn multiply a b:
a * b

在這裏,我們聲明瞭一個叫做 multiply 的函數,它接受兩個參數 ab ,然後我們將 ab 相乘並返回結果。

您甚至可以在您的函數中使用 console.log

fn multiply a b:
console.log a * b

這會記錄 a * b 的結果。

要調用這些函數,請編寫以下代碼:

fn multiply a b:
a * b

export fn main:
multiply 4 8 -> console.log

現在,讓我們使用 multiply 函數並將結果記錄到控制枱。稍後我們將學習管道( )語法。運行代碼,這將是結果:

如果您的函數沒有返回值,您可以使用以下代碼段:

fn multiply a b:
console.log a * b

export fn main:
multiply 4 12

這將調用 multiply 函數,它將結果記錄到控制枱。

這是代碼的輸出:

瞧!結果如預期的那樣出來了。在下一節中,我們將學習 ifelse 語句。

多個值之間的比較

這是 if/else 語句的語法。

if <condition>:
<statement>
else if <condition>:
<statement>
else:
<statement>

舉個例子,讓我們看看下面的一段代碼:

fn equals a b:
if a > b:
console.log f"{a} is bigger than {b}"
else if a = b:
console.log f"{a} is equals {b}"
else:
console.log f"{a} is smaller than {b}"

export fn main:
equals 40 10
equals 10 40
equals 10 10

請注意,我們首先創建了一個名為 equals 的函數,它接受兩個參數,然後比較 a 是否大於 b 。如果是,則輸出合適的消息。接下來,執行 else if 語句來檢查 ab 是否相等。否則,通知用户 a 小於 b

最後,使用不同的數據集運行 equals 函數。這將是輸出:

太棒了!我們的代碼有效。現在讓我們深入研究更高級的主題。

深入瞭解 Clio

使用流

之前我們使用了管道語法( ),在本節中,我們將瞭解流語法。管道運算符用於將一個函數的結果轉換為另一個函數。

看下面的片段:

fn isBigger a b:
a > b
export fn main:
isBigger 10 20-> console.log

這將創建一個名為 isBigger 的函數,用於判斷第一個數字是否大於第二個數字。繼續運行 isBigger 函數。然後將 isBigger (false) 的結果傳輸到 console.log 方法。結果, false 被輸出到屏幕

你也可以連續調用多個函數,這段代碼首先創建了三個函數,調用了 add 函數,並將這個方法的結果轉移到 square 方法中。最後,它將 square 的結果傳輸到 console.log 中。

請注意,您甚至可以將管道語法與縮進一起應用,以使代碼更具可讀性。

fn add a b:
a + b

fn square a :
a * a

fn subtract a b:
a - b

export fn main:
add 5 5 -> square -> console.log
square 5
-> subtract 100
-> console.log

在 Clio 中聲明數組

要聲明一個數組並打印它,請使用以下語法:

[<value_1> <value_2> <value_3>] => <variable_name>
console.log <variable_name>

例如:

export fn main:
["LogRocket" "FreeCodeCamp" "YouTube"] => websites
[2 3 4] => integers
[true false false] => booleanValues
console.log websites
console.log integers
console.log booleanValues

讓我們創建一個名為 website 的數組,其中包含字符串值,創建一個名為 integers 的數組,它接受整數,然後創建一個名為 booleanValues 的數組,其中包含布爾值。

原文:https://blog.logrocket.com/introduction-to-clio/

猜你喜歡