Swift の Getting Started をやってみた

Xcode 16 と一緒にインストールされた Swift 6 を触ってみようと Getting Started をやってみました。ドキュメントの一部がまだ Swift 5.9 の時のままなのか、うまくいかない箇所もありましたが、なんとか Getting Started を進めることができました。

Swift バージョンの確認

% swift --version
swift-driver version: 1.115 Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)
Target: arm64-apple-macosx15.0

コマンドラインツール(コンソールアプリ)を作成

% mkdir MyCLI
% cd MyCLI
% swift package init --name MyCLI --type executable

% tree
.
├── Package.swift
└── Sources
    └── main.swift

% swift run
Building for debugging...
[8/8] Applying MyCLI
Build of product 'MyCLI' complete! (0.80s)
Hello, world!

アスキーアートを生成する Figlet パッケージを追加

% code Package.swift
// swift-tools-version: 6.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "MyCLI",
    dependencies: [
      .package(url: "https://github.com/apple/example-package-figlet", branch: "main"),
    ],
    targets: [
        // Targets are the basic building blocks of a package, defining a module or a test suite.
        // Targets can depend on other targets in this package and products from dependencies.
        .executableTarget(
            name: "MyCLI",
            dependencies: [
                .product(name: "Figlet", package: "example-package-figlet"),
            ],
            path: "Sources"),
    ]
)

main.swift を Figlet 用に変更

% code Sources/main.swift
import Figlet

Figlet.say("Hello, Swift!")

プログラムを実行

% swift run
Building for debugging...
[7/7] Applying MyCLI
Build of product 'MyCLI' complete! (0.56s)
  _   _          _   _                 ____               _    __   _     _ 
 | | | |   ___  | | | |   ___         / ___|  __      __ (_)  / _| | |_  | |
 | |_| |  / _ \ | | | |  / _ \        \___ \  \ \ /\ / / | | | |_  | __| | |
 |  _  | |  __/ | | | | | (_) |  _     ___) |  \ V  V /  | | |  _| | |_  |_|
 |_| |_|  \___| |_| |_|  \___/  ( )   |____/    \_/\_/   |_| |_|    \__| (_)
                                |/                                          

参考

https://www.swift.org/getting-started

https://www.apple.com/jp/newsroom/2024/06/apple-empowers-developers-and-fuels-innovation-with-new-tools-and-resources

タグ: