MST
星途 面试题库

面试题:Swift中如何创建一个简单的CLI工具来解析命令行参数

请使用Swift编写一个CLI工具,该工具能够接收两个整数作为命令行参数,并输出这两个整数的和。描述你使用的解析命令行参数的方法,以及如何处理参数输入异常的情况。
45.8万 热度难度
编程语言Swift

知识考点

AI 面试

面试题答案

一键面试

以下是使用Swift编写的CLI工具代码以及相关说明:

代码实现

import Foundation

// 解析命令行参数
guard CommandLine.argc == 3 else {
    print("Usage: YourTool <integer1> <integer2>")
    exit(1)
}

let num1 = Int(CommandLine.arguments[1])
let num2 = Int(CommandLine.arguments[2])

// 处理参数输入异常
guard let int1 = num1, let int2 = num2 else {
    print("Both arguments must be valid integers.")
    exit(1)
}

let sum = int1 + int2
print("The sum of \(int1) and \(int2) is \(sum)")

解析命令行参数方法

  1. 获取参数数量:使用CommandLine.argc获取传递给程序的参数数量。这里期望有两个额外参数(加上程序本身的名称,总共3个参数),因此通过guard CommandLine.argc == 3 else进行判断。如果参数数量不符合要求,打印使用说明并退出程序。
  2. 获取参数值:使用CommandLine.arguments数组来获取具体的参数值。CommandLine.arguments[0]是程序本身的路径,CommandLine.arguments[1]CommandLine.arguments[2]分别是期望的两个整数参数。

处理参数输入异常情况

  1. 转换为整数:使用Int()初始化器将从命令行获取的字符串参数转换为整数。如果转换失败,Int()初始化器会返回nil
  2. 判断转换结果:通过guard let语句确保两个参数都成功转换为整数。如果其中任何一个转换失败,打印错误信息并退出程序,提示用户两个参数都必须是有效的整数。