Rust 変数とコーディングルールをざっくり把握する

この記事について環境構築も終わり、パッケージの作成も覚えたところでRustの基礎をどんどん進めていきましょう。
今回は変数について。
環境構築とパッケージの作成がまだの方は以下の記事を参照してください。

【環境構築】Rust M1 Mac

Rust とは? 特徴や将来性

cargo new のおさらい

前回の記事のおさらいとしてテスト用のパッケージを作成しましょう。

cargo new 使い方 ~ println!()

// kotarostudioというパッケージを作成
cargo new kotarostudio

src内のmain.rsに書き込みます。

ちなみにRustのコーディングルールを簡単にまとめておきます。
      
  1. 1行あたり100文字以内。
  2.   
  3. インデントはスペース4。(タブは使わない)
  4.   
  5. 行末とファイル末尾には空白、空行は入れない。
  6.   
  7. 演算子は空白を入れる。

let文

エディタはVScodeを使っています。

VScodeについてはPythonの環境構築記事にて。

fn main() {
    let x = 50;
    println!("x = {}", x);
}

VScodeで保存し、cd で移動してからcargo runでビルド&実行してみましょう。

// 実行結果
x = 50

となります。

xと50が紐づけられており、Pythonでいうところの代入になります。

let mut

ただしPythonのように自由に代入値を変更することはできず、let文によって定義されたデフォルト変数はあとから変更ができません。

変更可能な代入の場合は、let文にmutを追記します。

fn main() {
    let mut x = 50;
    println!("x = {}", x);
    x = 70;
    println!("x = {}", x);
}

このように変更できました。

mutがついていない値は変更できないためより総合的なコーディングのコントロールが俯瞰的に見えるようになります。

代入値の変更を意図的にする必要があるというのはとても便利な機能であると言えます。

const

constはletとは異なり型を明示しなければいけません。

constは不変な値が束縛されるため、mutは使えません。

重要constはすべて大文字で記述するのが慣習となっています。
const FOURTY_TWO: i32 = 42;
fn main() {
    println!("FOURTY_TWO = {}", FOURTY_TWO);
}
// 実行結果
FOURTY_TWO = 42

static変数

Rustのグローバル変数で、コンパイル時にメモリの位置を決定します。

こちらもconst同様すべて大文字で記述するのが慣習となります。

static mut X: i32 = 42;
fn main(){
    unsafe{
        X += 1;
        println!("X = {}", X);
    }
}
// 実行結果
X = 43

こちらの記事もいかがですか?
プログラミングやテクノロジーに関する記事をまとめています!

icon image
当スタジオでのアクセスNO1!
Google検索ランキングで1位獲得実績ありの人気記事!
M1 Mac以降の Python 環境構築 [完全保存版] ほぼ英語クラスの馴染みやすさが人気のPythonの全体像をほぼ1記事で理解できるのはこれ! まずはこれだけ Python基礎からサンプルプログラム いつもチェックする日課の記事やサイト、ページなどがあればセレニウムを使用してかなり細かく動作を自動化することができます。 Seleniumを使ってGoogle検索 ~ サイトの巡回までをプログラム Xサーバーをモデルにしています。
APIで自動トレードシステムなんかを構築したい場合は24時間働き続けてくれるスタイルが必須ですよね。
Xserver SSH接続の設定とAnaconda3のインストール
ポイント当サイトもエックスサーバーで構築しています。
速度が早いのと対応も丁寧で老舗なのでおすすめのサーバーの一つです。
サーバーをこれから開設する方は是非VPNも契約しておきましょう。
レンタルサーバー エックスサーバー コンパイル言語も忘れないで!
少し知っているだけで見える世界が全然変わってきます。
【環境構築】Rust M1 Mac / コンパイル言語

プロフィール

こうたろう
こうたろう
音大を卒業後ピアニストとして活動。
日本で活動後北欧スウェーデンへ。
アーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツ・ケルンに渡りAchim Tangと共にアルバム作品制作。
帰国後、金田式DC録音の第一人者:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入り。
独立後音楽レーベル「芸術工房Pinocoa(現:Kotaro Studio)」を結成。
タンゴやクラシックなどアコースティック音楽作品を多数プロデュース。
大阪ベンチャー研究会にて『芸術家皆起業論~変化する社会の中、芸術家で在り続けるために』を講演。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
村上宏治氏の元で本格的に写真、映像技術を学ぶ。
祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。
現在はKotaro Studioにて『あなたのためのアートスタジオ』音と絵をテーマに芸術家として活動中。
2023年より誰かのための癒しの場所『Curanz Sounds』をプロデュース。