初识 Swift:函数 function

函数(function)是一种可重复使用的代码块,用于执行特定的任务或操作。函数接受输入参数(可选)并返回一个结果(可选),可以通过函数名来调用执行。函数的存在有助于组织和模块化代码,提高代码的可读性、可维护性和可重用性。

Swift 复制代码
func greet(name: String) {
    print("Hello, \(name)!")
}

// 示例用法
greet(name: "Alice")  // 调用函数并传递参数

greet 就是一个函数,调用它其实就是执行 greet 函数内部的代码,打印出一行字符串。print 也是 Swift 内置的函数。

函数练习

Swift 复制代码
print("Row, row, row your boat")
print("Gently down the stream")
print("Merrily, merrily, merrily, merrily")
print("Life is but a dream")
print("        ~        ")
print("Row, row, row your boat")
print("Gently down the stream")
print("If you see a crocodile")
print("Don't forget to scream")
print("        ~        ")
print("Row, row, row your boat")
print("Gently down the stream")
print("This song is quite repetitive")
print("Can you spot the theme")

这是一个童谣的歌词,比如 "Row, row, row your boat" 和 "Gently down the stream" 这两行,重复出现 N 次。试想一个场景,如果出现 100 次,甚至 1000 次的时候,是不是需要重复输入 1000 次,或者当写了 1000 次以后,突然发现里面其中一个单词写错字母了,怎么办,太崩溃了!

这时候,我们就可以把这两行单独整理到一个函数中

go 复制代码
func rowTheBoat() {
    print("Row, row, row your boat")
    print("Gently down the stream")
}

这样,只需要在需要时调用即可。上面的代码既可以调整为:

scss 复制代码
rowTheBoat()
print("Merrily, merrily, merrily, merrily")
print("Life is but a dream")
print("        ~        ")
rowTheBoat()
print("If you see a crocodile")
print("Don't forget to scream")
print("        ~        ")
rowTheBoat()
print("This song is quite repetitive")
print("Can you spot the theme")

以此类推,可以找出类似的重复的代码,整理到不同的函数中,来增加代码的工作量和可阅读性。

相关推荐
末代iOS程序员华仔32 分钟前
Guideline 5.6 - Developer Code of Conduct
flutter·ios·swift
sakiko_2 天前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
2501_916008892 天前
Flutter 开发 iOS,项目打包成 IPA,命令与免 Xcode两种方法
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
东坡肘子3 天前
举手之劳 -- 肘子的 Swift 周报 #151
人工智能·swiftui·swift
sakiko_4 天前
Swift学习笔记42-SwiftUI的属性包装器(讲解+面试)
笔记·学习·ios·swiftui·swift
weixin_531670896 天前
Interlude起来:动作动画和文字通知哪个更适合休息提醒?Mac上有没有用桌宠做动作引导的软件?
人工智能·macos·mac·swift
Daniel_Coder6 天前
我用 SwiftUI + GRDB 做了一个「按时吃药·服药提醒」App
ios·swiftui·swift·widgetkit
末代iOS程序员华仔7 天前
iOS个人开发者账号申请为啥会被卡住
ios·swift·figma
denggun123458 天前
信号量(DispatchSemaphore vs AsyncSemaphore)、swift协作式线程池 and python信号量
开发语言·python·swift
2501_915918418 天前
Swift IDE 有哪些?按平台和需求选择Swift 开发工具
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程