Swiftの構文は表現力豊かで読みやすいため、開発初心者のデベロッパでも主要なプログラミング概念をすばやく理解できます。さらに、Swift Tutorials、Swift Coding Club、Swift Playgroundなどのリソースを活用すれば、初めてプログラミング言語を学ぶ場合でも、かつてないほど簡単にSwiftを使い始めることができます。
Appleが提供しているSwiftの教育リソースについてさらに詳しく
経験豊富なデベロッパも、ほかのプログラミング言語で使い慣れているモダンな機能をストレスなく利用し、パワフルで安全なSwiftでの開発をすぐにスタートできます。
struct Player {
var name: String
var highScore: Int = 0
var history: [Int] = []
init(_ name: String) {
self.name = name
}
}
var player = Player("Tomas")
新しい型をモダンかつ明快な構文で宣言し、インスタンスプロパティにデフォルトの値を指定して、カスタムイニシャライザを定義します。
extension Player {
mutating func updateScore(_ newScore: Int) {
history.append(newScore)
if highScore < newScore {
print("\(newScore)! A new high score for \(name)! 🎉")
highScore = newScore
}
}
}
player.updateScore(50)
// Prints "50! A new high score for Tomas! 🎉"
// player.highScore == 50
Extensionを使って既存の型に機能を追加し、カスタム文字列の補間処理を用いて定型コードの出現頻度を低減します。
extension Player: Codable, Equatable {}
import Foundation
let encoder = JSONEncoder()
try encoder.encode(player)
print(player)
// Prints "Player(name: "Tomas", highScore: 50, history: [50])"
効率的なクロージャを使って、パワフルなカスタム変換を実行できます。
let players = getPlayers()
// Sort players, with best high scores first
let ranked = players.sorted(by: { player1, player2 in
player1.highScore > player2.highScore
})
// Create an array with only the players’ names
let rankedNames = ranked.map { $0.name }
// ["Erin", "Rosana", "Tomas"]
カスタム型を簡単に拡張し、JSONの自動エンコーディングやデコーディングなど、パワフルな言語の機能を利用することができます。