Gleam言語でのWebアプリ開発ロードマップ
Gleamの基本的な構文とデータ型
今回はgleamの基本的な構文とデータ型について、できるだけ分かりやすく解説していきます。
目次
変数と関数の宣言
まずは変数の宣言方法から見ていきましょう。gleamではlet
を使って変数を宣言します。
let name = "Alice"
let age = 25
関数はpub fn
またはfn
で宣言します。戻り値の型は->の後に書きます。
pub fn add(x: Int, y: Int) -> Int {
x + y
}
関数は非常によく使う機能なので、きちんと理解しておくことが大切ですね。戻り値の型を明示的に書くことで、コードが読みやすくなります。
基本データ型
gleamには以下の基本データ型があります。
- Int: 整数型 (
1
,-42
) - Float: 浮動小数点数 (
3.14
,-0.001
) - String: 文字列型 (
"Hello"
) - Bool: 真偽値 (
True
,False
)
これらの型は他のプログラミング言語でもよく見かけるものですが、gleamではより安全に扱えるように設計されています。例えば、暗黙の型変換がないため、意図しない動作を防ぐことができます。
パターンマッチング
gleamの特徴的な機能の1つがパターンマッチングです。case式を使って値のパターンを分岐させることができます。
pub fn describe_number(x: Int) -> String {
case x {
0 -> "Zero"
1 -> "One"
_ -> "Something else"
}
}
パターンマッチングは複雑なデータ構造を扱う際にとても便利な機能です。コードがより読みやすく、メンテナンスしやすくなります。
カスタム型の定義と使用
独自の型を定義することもできます。type文を使って定義します。
pub type Color {
Red
Green
Blue
Custom(Int, Int, Int)
}
実際の使用例を見てみましょう:
pub fn describe_color(color: Color) -> String {
case color {
Red -> "赤色です"
Green -> "緑色です"
Blue -> "青色です"
Custom(r, g, b) -> "カスタムカラーです"
}
}
カスタム型を使うことで、より表現力豊かなプログラムを書くことができます。特にドメイン固有の概念をコードで表現する際に重宝しますね。
以上が、gleamの基本的な構文とデータ型の解説でした。シンプルながら強力な機能を持つgleamは、特に関数型プログラミングを学び始めた方にぴったりだと思います。
- 内臓GPUの性能が良いミニPCをコスパ順でまとめてみた
- TypeScriptで非推奨になっている機能一覧
- TypeScriptのexport defaultが非推奨となっていた件
- TypeScriptのNamespaceが非推奨となっていた件
- TypeScriptのthis.constructorが非推奨となっていた件
- TypeScriptのコンストラクタ引数でのpublic/privateが非推奨となっていた件
- TypeScriptのvarキーワードが非推奨となっていた件
- TypeScriptのFunction型が非推奨となっていた件
- TypeScriptのString, Number, Boolean型が非推奨となっていた件
- TypeScriptのanyが非推奨となっていた件
- TypeScriptのenumが非推奨となっていた件
- 内蔵GPUのメモリ割り当てを増やす方法【2024年版】
- ウォーターフォールは間違っている!私がアジャイル開発をエンジニアに勧める理由
- IT業界の酷い下請け構造は誰のせいなのか
- IT業界の下請け構造が酷すぎる!!
- クラウディアと他のクラウドソーシングサービスの比較
- Zigプログラミング言語とは?RustやC++との違いを解説
- めっちゃ早いPython?Nimというプログラミング言語について
- Rubyの静的型付け版?Crystalってどんな言語なのか解説
- Elixirは開発しづらい?Gleamへ移行しよう – 開発体験が劇的に改善
- Gleamの基本的な構文とデータ型
- Gleamの環境構築方法[Linux]
- Gleam言語でのWebアプリ開発ロードマップ
- MacBook Pro M1の外部ディスプレイちらつき現象について
- MacBook Air M2で4K60Hz外部ディスプレイを使用する方法
- Ryzen 7040HS Phoenix搭載LinuxマシンのGPUドライバー設定ガイド
- 注目を集める新星Gleam言語!Elixirとの違いから見る特徴と可能性
- DellとHP、買うならどっちがマシ?徹底比較ガイド
- サブドメインのメリット・デメリットを徹底解説!
- 中古ドメインって実際どうなの?メリット・デメリットを解説
- ノートパソコン バッテリー持ち ランキング【2024年4月】徹底比較!
- なぜ安い?workドメインが安価な理由を徹底解説!
- メキシコペソ投資ってどうなの?過去データで見る特徴とリスク
- なぜ私がトルコリラ投資をおすすめしないのか – データで見る実態と注意点
- 【2024年4月最新】世界の通貨別金利ランキング!今一番利回りが高い通貨はコレだ!
- 金利5%台!?米ドル保有で高金利を受け取る方法
- axumのルーティングを整理して別ファイルに分ける方法
- Acitx-webとAxumってどっちがいいの?RustのWebフレームワーク比較
- 次期C#?注目のプログラミング言語F#を徹底解説
- 電気ストーブと石油ストーブはどっちがいい?費用や特徴を徹底比較!
- ゲーミングキーボードって正直あんまり変わらないよねって話
- 【2024年版】今後はやるマイナープログラミング言語5選|現役エンジニアが解説
- Rustの現状の課題と発展途上な部分
- 私がRustがC++より優れていると感じる理由
- Rustプログラミング言語完全学習ロードマップ【2024年版】
- おすすめプログラミングスクール比較【2024年版】現役エンジニアが徹底解説
- 未経験からでもエンジニアに全然なれる件
- Model、Repository、Controller、Serviceとは?基礎から分かりやすく解説!
- Hibernateって何?
- JPAって何?