0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Swift】変数と定数

Last updated at Posted at 2023-03-05

変数や定数とは、何かを入れておく箱のようなものとよく言われます。
実際に理解を深めていくと、確かにそうかも!って思ってもらえると思います。
今回は変数や定数を扱ううえでよく耳にする言葉なども合わせて記しておきます。


目次

  1. 変数とは
  2. 定数とは
  3. 型とは
  4. 代入可能な値
  5. 型名の省略と型推論
  6. 変数や定数に代入された値の使い方

何度でも! 変数「var」

  • 宣言キーワード 「var」
  • 再代入が可能
var 変数名: 型名 = 

var cat: String = "ネコ"
cat = "猫" // 上で既に宣言がされているのでvarは不要

一度だけ! 定数「let」

  • 宣言キーワード 「let」
  • 代入できるのは一度だけで、後から値を変更することは不可能
let 定数名: 型名 = 

let dog: String = "イヌ"
dog = "犬" // エラーになってしまう!(コンパイルエラー)

変数と定数の大きな違いは代入できる回数である!
どちらも宣言の仕方は同じ!


そもそも「型」とは...

ここまで読んでいただいき、 型とはなんぞや って思っている方もいるはずです。
型とは超簡単に説明すると 「種類」 です!
各値がどの種類に属しているかを表しています。
何のために種類分けされているのかは下記リンク先にて詳しく説明しております!(後日記載)


別の型の値はお断り!

var number: String = "1"
number = 1 // コンパイルエラー

このように文字列を表すString型として宣言した変数numberに、整数を表すInt型の値を代入することはできません。
左辺と右辺の型が同一であるかどうか、注意しましょう!


型名の省略と型推論

値をあとから代入する場合、宣言時に型名を書く必要があります!
知らない宛先から届いた謎の荷物は怖いですからね...
伝票の備考欄にこんなものが入っていますとザックリとでも記載があれば少しは安心できますよね!

宣言キーワード 変数or定数名: 型名
let books: String
books = "本"

宣言時の型名を表す部分を、型アノテーション(type annotation)と言う。


宣言時に値を代入する場合、型名は省略可能!

宣言キーワード 変数or定数名 = 代入したい値
var books = "ONE PIECE全巻" // 変数booksには文字列が代入されているため、String型と推論される

代入する値から自動的に型が決められるしくみを、型推論と言う。


変数や定数に代入された値の使い方

基本的には変数名や定数名を記述することで値にアクセスすることができます。

let a = 1
let b = a // 定数bの値には1が代入される

定数aのように初めて値が代入されることを初期化と言う。


宣言時に値が無い変数や定数を使用するとコンパイルエラーになります!

let a: Int
let b = a // 定数aには値がまだ無いためコンパイルエラー

既に宣言された変数や定数を使いたい場合は値があるか確認しよう!



以上、変数と定数の説明でした!
これからもSwift学習頑張っていきましょう!

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?