Swift のお勉強 (関数とか)

今日もメモ程度に...

 

  • Optional型

 Swift で nil ( C言語でいう、NULL ) を使いためにはOptional型を用いる。これの宣言方法は以下の通りである。

 

 

 var 変数名 : データ型 ?

 var 変数名 : データ型 ? = 初期値

 

 これで、nil を用いることができるようになる。また、「 ? 」マークを使って通常のデータ型をOptional型にすることを「ラップする」と言う。初期値を指定しない場合は、nilが自動的に代入される。

 

 var FirstName : String?

 var LastName : String? = "Smith"

 

 Optional 型はアンラップと言うことを行わないと使うことができない(Optional型をデータ型に変換しなければならない)。

 アンラップの仕方は FirstName! のように Optional型の変数の後ろに感嘆符「 ! 」をつける。

 

 var FirstName : String = "John"

 var LastName : String? = "Smith"

 var FullName  : String? = FirstName + " " + LastName !

 

 ちなみに、変数の宣言方法をOptional型の暗黙的 (自動的) アンラップという方式にすると、値を取り出す時に「 ! 」を付ける必要がなくなる。暗黙的アンラップはデータ型の後ろに「 ? 」ではなく「 ! 」を付けることで使用できる。

 

 var FirstName : String = "John"

 var LastName : String! = "Smith"   // 暗黙的アンラップ

 var FullName  : String? = FirstName + " " + LastName

 

・関数を作る

 Swiftの関数は以下のように書く

 

 func 関数名 (  ) {

   関数で実行するステートメント

 }

 

これは一番簡単なやつ。次は、引数のある関数

 

 func 関数名 ( 引数名1 : データ型 , ・・・ 引数名n: データ型 ) {

   関数で実行するステートメント

 }

 

最後に戻り値のある関数。

 

 func 関数名 ( 引数名1: データ型 , ・・・引数名n : データ型 ) -> 戻り値のデータ型 {

   関数で実行するステートメント

   return 戻り値

 }

 

基本的なものはこんな感じ

 

 

今日の一言

 Swift って Adaと似てる所が結構ある。変数の宣言もそうだし、関数の作成もそう。

 

( Adaの自作関数例、参照元は以下に記述 )

function Minimum (A, B : Integer) return Integer is

begin

 if A <= B then

  return A;

 else

  return B;

 end if;

end Minimum;

 

Wikipedia には影響を受けた言語の中には入ってなかったけど、個人的にはSwiftって言語はかなりAda言語の影響を受けているように思える。

 

 参考サイト

( Adaの関数について )

d.hatena.ne.jp