![見出し画像](https://assets.st-note.com/production/uploads/images/116836690/rectangle_large_type_2_c1860bf04276381c1c67a4609404d443.png?width=800)
Swiftをはじめよう!
Appleが作っているSwift。iOS17などが出たタイミングで今年も正式に5.9にアップデート。Apple独自の部分とオープンソースでの開発も進められているもので毎年、機能追加などが行われています。
下記の開発状況などが書かれているブログもアップデートがあったのでご紹介。
Swift is a general-purpose programming language that's approachable for newcomers and powerful for experts. It is fast, modern, safe, and a joy to write.
Swift は、初心者にとって親しみやすく、専門家にとって強力な誰で使うことができるプログラミング言語です。 高速、最新、安全、そして楽しく書くことができます。
ということで、後発の言語で、オープンソースでいろんな方から提案を受けながら開発も進んでいるので今後も期待できるかなと思います。
このブログでは基本的なことから紹介されていますので、そのあたりを自分でもコードを実行しながら試したいと思います。
トップページは
![](https://assets.st-note.com/img/1695418202366-bAXJ8poJAb.png?width=800)
コードが最初に貼り付けてあります。実行できるコードなのでとにかく動かしてみましょう!Playgroundで実行してみます。
struct ScientificName: Codable {
var genus: String
var species: String
var subspecies: String?
}
let momiji = ScientificName(genus: "Acer", species: "palmatum")
let jsonData = try JSONEncoder().encode(momiji)
プロトコルCodableを使ってJsonデータに変換しています。
Jsonデータになっているかを試してみましょう。
print(String(bytes: jsonData, encoding: .utf8)!)
"{"genus":"Acer","species":"palmatum"}\n"と出てきます。
トップページをリロードするともう一つコード例が出てきます。
import SwiftUI
struct ScientificName {
var genus: String
var species: String
var subspecies: String?
var description: String {
var text = "\(genus) \(species)"
if let subspecies {
// subspecies is guaranteed to be non-nil here.
text += "subsp. \(subspecies)"
}
return text
}
}
このコードを使ってPlaygroundで実行してみます。引数を少し変えています。変更したコードは以下。
struct ScientificName {
var family: String
var genus: String
var species: String
var subspecies: String?
var description: String {
var text = "\(family) \(genus) \(species)"
if let subspecies {
// subspecies is guaranteed to be non-nil here.
text += "subsp. \(subspecies)"
}
return text
}
}
これを実行します。
var virusName = ScientificName(family:"Retroviridae",genus: "lentivirus", species: "Humen immunodeficiency virus")
変数に入れて
virusName.description
"Retroviridae lentivirus Humen immunodeficiency virus"
と出力されます。
参考になるサイト
この記事が気に入ったらサポートをしてみませんか?