Swiftの乱数生成を完全ガイド!初心者でもわかるRandomの使い方
生徒
「Swiftで数字をランダムに出すことってできますか?ゲームみたいなものを作ってみたいです」
先生
「できますよ。Swiftには最初から乱数を作る仕組みが用意されていて、特別な準備をしなくても使えます」
生徒
「プログラミングもパソコンも初めてなんですが、それでも大丈夫ですか?」
先生
「大丈夫です。サイコロを振る感覚で考えると、とても分かりやすいですよ。順番に見ていきましょう」
1. Swiftの乱数とは何か?
Swiftの乱数とは、実行するたびに違う数字を自動で作ってくれる仕組みのことです。現実で言うと、サイコロを振るたびに出る目が変わるのと同じイメージです。プログラムでは、毎回同じ結果だと面白くない場面が多くあります。ゲームで敵の動きが変わったり、抽選で当たり外れを決めたりするときに、乱数はとても重要な役割を持ちます。Swiftでは難しい設定をしなくても、簡単な書き方で乱数を扱えるのが大きな特徴です。
2. Int.randomを使った基本的な乱数生成
Swiftで一番よく使われる乱数生成の方法が、Int.randomです。Intは整数、つまり小数点のない数字を意味します。randomは「ランダム」という意味で、直訳すると「ランダムな整数を作る」となります。例えば一から十までの数字をランダムに一つ選びたい場合、範囲を指定するだけで簡単に実現できます。
let number = Int.random(in: 1...10)
print(number)
このコードでは、一から十までの中から一つ数字が選ばれて表示されます。三点リーダーで書かれている部分は「この範囲全部」という意味です。
7
3. 乱数の範囲を変えてみよう
乱数は範囲を変えることで、さまざまな使い方ができます。例えばサイコロなら一から六、くじ引きなら一から百など、目的に合わせて自由に決められます。範囲を変えるだけで、同じ仕組みを使い回せるのがプログラミングの便利なところです。
let dice = Int.random(in: 1...6)
print("サイコロの目は \(dice) です")
サイコロの目は 3 です
4. 配列と乱数を組み合わせる
配列とは、複数のデータをまとめて箱に入れておく仕組みです。例えば、占いの結果やメッセージをいくつか用意しておき、乱数で一つ選ぶといった使い方ができます。これはおみくじを引く感覚にとても近いです。
let messages = ["大吉", "中吉", "小吉", "吉", "凶"]
let index = Int.random(in: 0..<messages.count)
print(messages[index])
messages.countは、配列の中にいくつ要素が入っているかを数えてくれます。その数を使うことで、はみ出さない安全な乱数を作れます。
5. 毎回違う結果になる理由
プログラムなのに、なぜ毎回違う数字が出るのか不思議に思うかもしれません。Swiftの乱数は、内部で現在の時間やシステムの状態などを使って計算されています。そのため、人が予測できない数字が作られます。完全にでたらめというより、「人間には予測しにくい数字」を作っていると考えると理解しやすいです。
6. Double.randomで小数の乱数を作る
整数だけでなく、小数の乱数も作れます。Doubleは小数点を含む数字を扱う型です。例えば確率や割合を表したいときに使います。一から零の間の数字を使えば、当たる確率を表現することもできます。
let value = Double.random(in: 0.0...1.0)
print(value)
7. 乱数を使うときの注意点
乱数はとても便利ですが、使い方を間違えると意図しない結果になることがあります。特に範囲の指定を間違えると、配列の外を参照してエラーになることがあります。そのため、配列の数を数えるcountと組み合わせて使うのが基本です。また、同じ結果を再現したい処理には、乱数は向いていないことも覚えておくと安心です。
8. Swiftの乱数は初心者に優しい
Swiftの乱数生成は、短いコードで直感的に書けるように設計されています。難しい設定や特別な知識がなくても、今日からすぐに使えます。ゲーム、学習用アプリ、簡単なツールなど、さまざまな場面で活躍します。まずはサイコロやおみくじのような身近な例から試してみると、乱数の仕組みが自然と身につきます。
【超入門】ゼロから始めるGo言語プログラミング:最速で「動くアプリ」を作るマンツーマン指導
「プログラミングの仕組み」が根本からわかる。Go言語でバックエンド開発の第一歩を。
本講座を受講することで、単なる文法の暗記ではなく、「プログラムがコンピュータの中でどう動いているか」という本質的な理解につながります。シンプルながら強力なGo言語(Golang)を通じて、現代のバックエンドエンジニアに求められる基礎体力を最短距離で身につけます。
具体的な開発内容と環境
【つくるもの】
ターミナル(黒い画面)上で動作する「対話型計算プログラム」や、データを整理して表示する「ミニ・ツール」をゼロから作成します。自分の書いたコードが形になる感動を体験してください。
【開発環境】
プロの現場でシェアNo.1のVisual Studio Code (VS Code)を使用します。インストールから日本語化、Go言語用の拡張機能設定まで、現場基準の環境を一緒に構築します。
この60分で得られる3つの理解
「なぜ動くのか」という設定の仕組みを理解し、今後の独学で詰まらない土台を作ります。
データの種類やメモリの概念など、他言語にも通じるプログラミングの本質を学びます。
ただ動くだけでなく、誰が見ても分かりやすい「綺麗なコード」を書くための考え方を伝授します。
※本講座は、将来的にバックエンドエンジニアやクラウドインフラに興味がある未経験者のためのエントリー講座です。マンツーマン形式により、あなたの理解度に合わせて進行します。
初めてのGo言語を一緒に学びましょう!