Swift 基礎文法 part3
こんにちはかわです。
アドベントカレンダー14記事目です。
がんばります。
辞書とオプショナル型
var score: [String: Int] =[ "math": 90, "kokugo": 75, "science": 80, "english": 90 ] print(score["english"]) // => Optional(90) score["society"] = 35 print(score["society"]!)// => 35 アンラップした状態 print(score["P.E"]) // => nil var name: String? // => オプショナル型 print(name) name = "kawa" print(kawa) // => Optional("kawa") // オプショナルバインディング var value: String? value = "こんにちは" if let value = value { // アンラップ処理 print(value) // => こんにちは }
関数
func add(a : Int, b: Int) -> Int{ return a + b } print(add(a: 1, b: 2)) //外部引数名の指定 func sub(num1 a: Int, num2 b: Int) -> Int{ return a - b } print(sub(num1: 3, num2: 1)) //引数名省略 func mul(_ a: Int, _ b: Int) -> Int{ return a * b } print(mul(5, 4)) //可変長引数 func sum(_ a: Int...) -> Int { //a には配列が入る var sum: Int = 0 for num in a{ sum += num } return sum } print(sum(1, 2, 3, 4, 5))
enum
/*enumの定義 書式 enum enum名: 型名{ case 列挙子 } */ enum Fluit{ case Apple case Orange }
throw処理 と defer処理
//エラータイプの宣言 enum Myerror: Error{ case InvalidValue } /* エラーをthrowする可能性がある関数 throwを行う可能性がある関数の宣言 func 関数名(引数) throw -> 戻り値の型 throw処理の記述 throw エラータイプのプロトコルに準拠したenum */ func doubleUp(_ value: Int) throws -> Int{ if value < 0{ throw Myerror.InvalidValue } return value * 2 } //エラーハンドリング do{ //deferには処理終了時に必ず行う処理を記述 defer{ print("処理が終了しました") } var doubleResultValue = try doubleUp(-1) //tryを付ける必要がある print("正常終了") }catch Myerror.InvalidValue { print("Error") } /* 正常終了時 正常終了 処理が終了しました ERROR時 処理が終了しました Error */
以上
Swift 基礎文法 part2
こんにちはかわです。
アドベントカレンダー13記事目。
もうまにあわない。
今回は
今回もSwiftの基礎文法やっていきます。
if文
var num: Int = 5 if num <= 5{ print("5以下だよ") }else if num <= 10 && num > 5{ print("5より大きく10以下だよ") }else{ print("10より大きいよ") }
switch文
let name = "kawa" switch name{ case "naka": print("あなたはなかですね") case "kawa", "river": print("あなたはかわですね") default: print("だれだ君は?") }
範囲
let age: Int = 18 switch age{ case 0..<18: print("17歳未満だね") case 18...22: print("大学生かな") default: print("大人かな") }
配列
var numbers: [Int] = [1, 2, 3, 4, 5] numbers.append(6) // => [1, 2, 3, 4, 5, 6] let names = ["hoge", "name", "kawa"]
for文
let names = ["kawa", "naka", "river"] for name in names{ print("\(name)だよ") } let num = 8 for index in 1...9{ print(num * index) }
以上
Swift 基礎文法 part1
こんにちはかわです。
アドベントカレンダー12記事目。
全く間に合ってない。
今回は
急遽Swiftを学ばなきゃいけなくなった。
メモ程度にまとめる。
swift 3.0
標準出力
print("Hello World") // => Hello World
コメントアウトは//
四則演算
それぞれ計算を載せる
print(5 + 4) // => 9 print(5 - 4) // => 1 print(5 * 4) // => 20 print(5 / 4) // => 1 print(5 % 4) // => 1
数字と記号の間に空白を入れる場合,両方に空白を入れないとエラー
print(5 *4) // => error print(5* 4) // => error print(5*4) // =>20
定数
let 定数名: データ型 = 値
let num: Int = 5 let pi: Double = 3.14 let str: String = "kawa" print(num) // 5 print(pi) // 3.14 print(str) // kawa
変数
var 変数名: データ型 = 値
キャメルケース
var num: Int = 5 var pi: Double = 3.14 var str: String = "kawa"
式展開
(変数or定数)
let name: String = "kawa" var age: Int = 100 print("\(name)は現在\(age)歳です") //=> kawaは現在100歳です
キャスト(型変換)
データ型(変数)
var num: Int = 5 var pi: Double = 3.14 print(Double(num) * pi) //=>15.7 print(num * pi) //=>error