写给大忙人看的Swift

写给大忙人看的Swift pdf epub mobi txt 电子书 下载 2025

[美] Matt Henderson(马特·亨德森),Dave Wood(戴夫·伍德) 著,周智勋,杨宏焱,龙达,曹磊 译
图书标签:
  • Swift
  • 编程
  • iOS
  • 移动开发
  • 快速学习
  • 教程
  • 效率
  • 开发者
  • 技术
  • 入门
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121264399
版次:1
商品编码:11732275
品牌:Broadview
包装:平装
开本:16开
出版时间:2015-06-01
用纸:胶版纸
页数:196
正文语种:中文

具体描述

编辑推荐

适读人群 :本书适合各种层次的Swift 学习者和开发者阅读,包括拥有 Objective-C 开发经验的开发者,想要用 Swift 编写程序的爱好者等任何对 Swift 感兴趣的人。对于想要快速了解和掌握Swift 的人来说,《写给大忙人看的Swift》是一本不可多得的枕边读物。
  快速掌握Swift的强大功能,避免在已知基础内容上浪费精力;
  明确Objective-C与Swift的异同、适用场景及优缺点;
  解析如何在已有工程中平滑地集成Swift、逐渐将代码转移至 Swift上、避免在Swift工程中引入Objective-C时遇到的陷阱;
  每章配套上手练习,帮助读者深化巩固所学知识。

内容简介

《写给大忙人看的Swift》全面介绍了苹果公司新推出的 Swift 编程语言。主要内容包括 Swift 语法简介,Swift 应用程序中常见的对象模型、可空类型、泛型、函数和闭包的使用方法,Swift 代码的安全性,如何在 Swift 中使用 Objective-C 和苹果平台已有的框架,如何利用 Swift 及其新功能来创建一个应用程序等。本书作者 Matt Henderson 及 Dave Wood 是 iOS 和
OS X 开发者的领军人物,他们运用简练的语言介绍了 Swift 的相关知识。书中含有大量实战代码和课后习题,通过理论和实践相结合的方式,帮助读者迅速掌握 Swift 的主要功能和用法。

目录

第1 章 Swift 介绍 1
1.1 基本语法 4
1.1.1 变量和常量 4
1.1.2 字符串插值 7
1.1.3 流程控制 8
1.2 基本数据类型 12
1.2.1 整型 12
1.2.2 Double 和Float 14
1.2.3 布尔型 15
1.2.4 字符串 16
1.2.5 数组 17
1.2.6 字典 21
习题 22
第2 章 深入学习Swift 语法 23
2.1 可空类型 26
2.2 泛型 29
2.3 类型声明和类型推断 32
2.4 函数和闭包 33
2.4.1 全局函数 33
2.4.2 嵌套函数 34
2.4.3 闭包表达式 35
2.5 元组 36
2.6 switch 语句和模式匹配 38
习题 41
第3 章 对象和类 43
3.1 枚举 46
3.2 类 51
3.3 结构体 55
3.4 继承 57
3.5 重载 58
3.6 重写 60
3.7 初始化 61
3.8 属性 63
3.8.1 计算型属性 65
3.8.2 属性观察者 66
3.8.3 延迟属性 68
3.9 下标 69
3.10 协议 71
3.11 扩展 73
3.12 访问控制 74
目录
xx 写给大忙人看的Swift
习题 79
第4 章 可空类型 81
4.1 可空类型和nil 84
4.2 有效性检查、可空绑定和强制拆箱 86
4.3 可空链 89
4.4 带隐式拆箱的可空 94
习题 96
第5 章 泛型 99
5.1 为什么使用泛型 102
5.2 泛型函数 102
5.2.1 类型参数 103
5.2.2 使用多个类型参数 104
5.3 泛型类型 104
5.3.1 关联类型 108
5.3.2 where 子句 110
习题 111
第6 章 函数和闭包 113
6.1 函数 116
6.1.1 参数 116
6.1.2 外部参数名 117
6.1.3 参数的默认值 119
6.1.4 可变参数和inout 参数 120
6.1.5 返回类型 121
6.2 闭包 123
6.2.1 参数及返回值的类型推断 124
6.2.2 尾随闭包 125
6.3 函数式编程 126
习题 129
第7 章 使用Objective-C 131
7.1 与C 和Objective-C APIs 打交道 134
7.1.1 可空属性和返回值 135
7.1.2 AnyObject 类型 137
7.1.3 继承、扩展和协议 138
7.1.4 自动转换类型 139
7.1.5 选择器和枚举 142
7.1.6 与C 代码交互 143
7.2 在项目中同时使用Swift 和Objective-C 代码 144
习题 147
第8 章 常见模式 149
8.1 嵌套类型 152
8.2 单例 153
8.3 使用GCD 154
8.3.1 dispatch_once 155
8.3.2 dispatch_async 155
8.3.3 dispatch_after 156
8.3.4 dispatch_apply 156
8.4 Sequences 和Generators 157
8.5 运算符 161
8.5.1 运算符重载 162
8.5.2 自定义运算符 163
习题 164
索引 165




前言/序言

  推荐序一
  我认识周智勋是在2012 年,当时他还在DevDiv 开发者社区创业,那时我就感觉这是个翻译狂人。当时我们都是一个名为“真?iOS开发”的QQ 群的成员,这个群由国内主要的原创iOS 博客博主组成,大家会时常分享和讨论一些国外最新的关于iOS 开发的文章。周智勋除了积极地和我们讨论外,还会在讨论当晚就把那些文章译成中文放到他的博客上。
  当然,这些并不能支撑他“翻译狂人”的名号。除了频繁地翻译国外的优秀博客文章外,周智勋还组织翻译了两本优秀的iOS开发书籍,分别是iOS 5 by tutorials和iOS 6 Programming Cookbook。此外,他也组织出版了多本iOS 相关的图书,包括《iOS 开发实战体验》等。
  记得有一次,大伙从objc.io上看到一篇不错的英语文章,标题是“Communication Patterns”,文中介绍了iOS各种通知的方式,例如,KVO、Notification、Delegate 等。大家都在讨论这个标题如果翻译成中文,应该叫什么。有人说译成“通讯模式”,也有人说译成“通讯机制”,但总是觉得怪怪的,不太容易理解。这个时候周智勋提议译成“消息的传递机制”,大家一下子都服了,觉得翻译得非常贴切,我想这就从某种意义上显示了他的翻译功底吧。
  我自己也做过一些翻译工作,但不太喜欢,我更喜欢写原创的文章。因为我认为翻译文章大多锻炼的就是翻译能力本身,而写原创文章的话,锻炼的则是知识的整理和加工能力。从我个人的角度出发,我更想做一些能够提升自己知识理解能力的事情。
  所以说,做翻译的人除了爱好之外,更需要有一种分享精神,或者说是利他的奉献精神。正是因为有像周智勋这样的人不求回报地把国外的优秀iOS 开发类文章源源不断地翻译成中文,才使得广大开发者能够更快地吸收相关的开发知识。
  2013 年,周智勋放弃创业,离开北京回到了老家云南,在那个四季如春的城市开始了他的新的工作。云南的互联网工作强度不像北京那么大,周智勋得以继续做他喜欢的翻译工作。能够淡泊名利,安心在云南做iOS 开发,我想这也与他做翻译以来一直不计回报的性格有关吧。除了翻译之外,周智勋其实还是一个健身爱好者,我常常看到他在朋友圈分享跑步的信息,有时候他还会参加马拉松。
  由于我也经常写文章,所以认识了一些出版社的老师。当电子工业出版社的刘芸老师找我推荐iOS 图书Swift for the Really Impatient的译者时,我的脑海里蹦出来的第一个名字就是周智勋。于是,在我的引荐下,周智勋和他的几位同事很快就接手了这本书的翻译工作。
  几个月后,周智勋发给了我该书的译文:《写给大忙人看的Swift》。在仔细阅读译文之后,我感觉自己做了一个非常正确的决定。整本书的翻译质量非常高,苹果公司的官方Swift 文档长达千页,但这本书以不到200页的篇幅,就将Swift 的重要知识进行了浓缩介绍,非常适合新手在没有压力的情况下,用相对短的时间,对Swift 的整体知识进行入门级的了解。
  《写给大忙人看的Swift》是一本高质量的Swift 语言入门书籍,感谢电子工业出版社的引进,以及我的好友周智勋及其同伴的辛苦翻译,也祝愿本书能帮助更多人进入到iOS 的编程世界里来!

  《iOS 开发进阶》作者 唐巧
  2015年夏
  推荐序二
  乔帮主过世后,我再也没有追过凌晨一点档的发布会,总是第二天中午再下载官方的 Podcast来看,2014 年也不例外。用了八年 Mac,大部分软件新功能以及新的硬件升级对我来说都已没什么感觉。但这次的视频播放到最后十几分钟时我调高了音量,因为视频里出乎意料地介绍起了一种新的编程语言—Swift。Optional 能简化原本用Objective-C 写起来成堆的判断语句,Playground 直接显示变量的值,并且能绘制值的变化曲线。在看完视频以及社交圈大家对 Swift 的各种褒扬后,我恨不得立刻把现有的 iOS 项目都用 Swift 重写一遍。
  但是,我并没有这么多时间和精力去全身心地投入到 Swift 的学习和开发中。甚至连官方的教程“The Swift Programming Language”我都只是在地铁里粗略地看了一半。正巧那时IDEO 为Quartz Composer 做了一套叫作Avocado 的插件包,我用它实现了一个弹动UITextField 的placeholder 的交互原型,便动手用 Swift来实现它的原生版本。我习惯了这种通过实战来快速入门的学习方式,想尽可能地涵盖原来Objective-C 中的一些模式,以便区分两种语言的开发方式。于是很快就有了LTBouncyPlaceholder这个开源项目,戴着“尝鲜 Swift”这个光环,居然有网友专门写了一篇博客分析这个项目的技术实现。
  接着没过几天,我在 GitHub 上看到了TOMSMorphingLabel 这个实现文字变换动画的项目。这个动画最早出现在 iOS 的Messages 应用输入文字时键盘上的Quick Type 提示框中,也在 WWDC 2014 上有几秒钟的镜头。但是,总觉得用NSAttributedString实现的动画效果哪里不对劲。于是,我做了一个包含UIText-Field 的测试 App,打开 iOS 模拟器,按下“?+T”组合键打开Slow Animations 开关,反复按动键盘,观察Quick Type 提示文字的变化。看了二十分钟后,我认清了动画的每一个细节,我确信自己能比 TOMSMorphingLabel 做得更好。在花一周时间不断试验各种参数后,完全使用 Swift 编写的 LTMorphingLabel 开源了。虽然我没有使用太多 Swift 的语法特性,也没有像 TOMSMorphingLabel 那样使用现成的NSAttributedString来快速地实现动画,而是自己计算每一帧每个字符的位置,但这并不影响动画效果的呈现。而正因为如此,我能控制每一个细节,我的动画几乎和原生的一样完美。所以当Dave Verwer 在他每周一期的“iOSDev Weekly”中提到TOMSMorphingLabel 时,我骄傲地在Twitter 上把我的项目地址发给他。不过他的回复让我很意外,他说他更喜欢 TOMSMorphingLabel 的效果。当时我真想回复:“你看我这是用 Swift 写的啊,怎么也得加十分吧,而且动画更优雅,节奏更自然”,但又想到Mark Bauerlein 说的“一个人成熟的标志之一就是,明白每天发生在自己身上的 99% 的事情对于别人而言根本毫无意义”,我想既然我能做一个文字变换的动画效果,我还能做更多。半年后,我仍然没能耐心地看完“The Swift Programming Language”,但这时 LTMorphingLabel 已经有了七个文字变换动画。其中三个使用CAEmitterLayer实现粒子喷发的效果。我甚至尝试用SpriteKit 实现了更好的粒子效果,但这对于一个 UILabel 的子类来说,显然成本太高。那段时间GitHub Trending 上总能看到 LTMorphingLabel,偶尔能排到 Swift 语言分类的第一。直到年底,我把业余的精力投入到了一个新的 Swift 项目— VPN On。
  虽然在这个项目开始之前,我听到不少苹果公司对于Today Widget 的功能有多么严格的限制的说法,在和朋友讨论我想做的这个Today Widget 的想法后,所有人都对我说不要做了,Today Widget 里的内容应该和Today 密切相关,苹果公司不可能让我上架这个功能性的 App。但我的想法很简单,这么实用的功能,苹果公司不让上架的话,大不了将其开源,让所有有开发账号的人都能自己编译。于是我忍受着 Xcode 的SourceKit 反复蹦出的报错提示,还有那头孩子不肯乖乖睡觉的吵闹声,经过几个夜晚的努力,硬是挤出了VPN On 的第一版。在把这个版本提交到iTunes Connect 后,我果断地直接开源了整个项目。两周后,它意外地上架了。我发现开源并不会对销量产生太大的影响,上架后头三天带来 427 美元净收入。有一些人告诉我,他们已经成功编译了开源的版本,但仍然去 App Store 买了一份表示支持。
  五个月后的现在,LTMorphingLabel 和VPN On 成为 GitHub 上星数较高的两个 Swift 开源项目,被列在各种 Swift 相关的awesome list 中。不过,从 Swift 发布到现在近一年过去,我还是没能看完“The Swift Programming Language”。一是因为各种忙,二是一旦有闲情就又想着做点什么,没能沉下心来看书。所以我觉得应该有一本书,能帮助学习 Swift 语言的人快速入门,用尽可能短的篇幅介绍语言特性及其使用方法。在读过这本《写给大忙人看的 Swift》之后,我发现它就是我想要的书,所以推荐像我一样没太多时间看书又想学 Swift 的朋友阅读这本书。

  iOS VPN On作者 汤圣罡
  2015年夏
《写给大忙人看的Swift》:解锁高效编程的密钥 在快节奏的现代社会,时间是宝贵的奢侈品。对于那些渴望掌握Swift这门强大编程语言,却又被繁重工作和生活琐事缠身的“大忙人”而言,如何快速、高效地学习并应用Swift,成为了一个亟待解决的难题。 《写给大忙人看的Swift》正是为这样的你量身打造。本书并非泛泛而谈的Swift入门指南,而是一本深度聚焦于“效率”和“实战”的教程,旨在帮助你以最精炼的方式,迅速掌握Swift的核心概念,并将其转化为解决实际问题的强大武器。 核心理念:精炼、聚焦、高效 本书秉持“精炼、聚焦、高效”的核心理念,力求在最短的时间内,将Swift最实用、最核心的知识传递给你。我们深知大忙人的时间宝贵,因此,每一页、每一章都经过精心设计,旨在剔除冗余,直击要点。本书不会纠缠于Swift语言的细枝末节,而是将精力集中在那些能够让你快速产出、解决实际问题的关键技术上。 适用人群: 有编程基础但接触Swift不多的开发者: 如果你已经掌握了其他编程语言(如Java, C++, Python, JavaScript等),并希望快速转向iOS/macOS/watchOS/tvOS开发,本书将为你提供一条直观且高效的学习路径。我们将类比你已有的知识,帮助你快速理解Swift的独特之处。 时间有限但渴望掌握一门现代编程语言的专业人士: 无论你是产品经理、设计师,还是希望拓展技术视野的跨界人士,只要你对开发有热情,且时间宝贵,本书都能助你一臂之力,让你在短时间内掌握Swift这一强大的工具。 希望快速上手Swift进行iOS/macOS开发的初学者: 尽管本书强调效率,但我们同样为完全零基础的初学者设计了清晰的入门框架。我们将从最基础的概念讲起,循序渐进,确保你能够扎实地构建Swift编程的基石。 本书特色: 1. “零废话”的教学模式: 我们坚信,学习的最高境界是“少即是多”。本书的内容组织以“效率”为导向,摒弃了教条式的讲解和无谓的铺垫。每一段文字都旨在为你提供 actionable 的知识和技巧。 2. 直击痛点的实战案例: 理论与实践相结合是学习的关键。本书的每一个知识点都配以精炼、贴近实际开发场景的案例。你将学到的不仅仅是语法,更是如何在真实项目中应用这些语法来解决问题。 3. “时间胶囊”式知识提取: 我们将Swift的精华浓缩,提炼出最能代表这门语言特性和最高效的应用方式。阅读本书,就像打开一个“时间胶囊”,迅速获取Swift的精髓。 4. 由浅入深的结构设计: 即使你是初学者,也不必担心跟不上。本书的章节安排循序渐进,从最基础的语法概念,到数据结构、控制流,再到面向对象编程、协议、泛型等核心概念,层层递进,确保学习的连贯性和深度。 5. “大忙人”专属的学习策略: 书中将穿插一些专为大忙人设计的学习建议和时间管理技巧,帮助你在繁忙的日程中,高效地分配学习时间,最大化学习效果。 6. 代码即文档: 本书的代码示例简洁明了,注释精炼,力求让代码本身成为最好的说明。通过阅读和运行这些代码,你将获得最直接的理解。 内容预览(非本书实际目录,仅为内容亮点展示): Swift速成:那些你必须知道的基础 变量与常量:用最少的代码定义数据。 数据类型:理解Swift强大的类型系统,避免潜在错误。 运算符:掌握Swift丰富而直观的运算符,让代码更简洁。 控制流:if, for, while,让你的程序动起来。 函数:封装代码,提升复用性,让你的开发更高效。 Swift的“秘密武器”:集合与字典 数组(Array):有序的数据集合,掌握其高效的访问和操作方法。 字典(Dictionary):键值对的灵活存储,理解其在数据管理中的重要性。 集合(Set):无序的唯一值集合,探索其在特定场景下的应用。 面向对象与协议:构建优雅的代码结构 类(Class)与结构体(Struct):理解Swift强大的值类型和引用类型,掌握它们在设计模式中的应用。 属性与方法:定义对象的行为和状态。 继承与多态:构建灵活、可扩展的代码体系。 协议(Protocol):Swift的核心抽象机制,学习如何通过协议解耦,实现高内聚低耦合的设计。 延展(Extension):为现有类型添加新功能,而无需修改其源代码,极大地提升了代码的灵活性。 Swift的“高级技巧”:闭包、枚举与泛型 闭包(Closure):理解Swift中强大的函数式编程特性,掌握其在异步编程、回调等场景下的应用。 枚举(Enum):定义一组相关联的常量,提高代码的可读性和安全性。 泛型(Generic):编写能够处理多种数据类型的灵活且可重用的代码。 错误处理与可选类型:编写健壮的代码 可选类型(Optional):Swift安全处理“不存在值”的关键,理解nil和可选绑定的妙用。 错误处理(Error Handling):掌握Swift的do-catch机制,优雅地处理程序运行时可能出现的错误。 SwiftUI速览(面向大忙人的选择): 在不深入UIKit/AppKit的情况下,快速了解SwiftUI的声明式UI开发范式,让你也能快速构建现代化的用户界面。 通过简单示例,体验SwiftUI的强大之处,让你快速感受到开发效率的提升。 学习效率的最大化: “碎片化”学习友好: 本书的内容设计考虑到大忙人可能无法长时间专注学习。每个章节和子主题都力求独立完整,你可以利用零碎的时间进行阅读和实践。 “动手”是唯一的王道: 我们鼓励你边读边练。每一行代码都值得你去敲击、运行和修改。通过实际操作,你才能真正内化知识。 “查漏补缺”的学习模式: 当你在实际开发中遇到问题时,本书将是你最便捷的参考手册。快速找到相关章节,解决你的燃眉之急。 结语: 《写给大忙人看的Swift》不仅仅是一本书,更是一种高效的学习理念和实践方法。我们相信,通过本书,你将能够以一种前所未有的高效方式,掌握Swift这门充满魅力的编程语言,并将其应用于你的工作和项目中,开启你的Swift开发之旅。 立即开始,让Swift成为你解决问题的利器,让学习不再成为负担,而是提升效率的加速器。

用户评价

评分

收到《写给大忙人看的Swift》这本书已经有一段时间了,但由于工作原因,一直没能静下心来系统地阅读。不过,在零碎的时间里,我还是翻阅了其中的一些章节。令我印象深刻的是,书中对于Swift某些复杂概念的解释,都力求用最精炼、最直观的方式表达出来,避免了冗长的理论阐述。例如,书中关于“Swift中的协议导向编程”的讲解,就非常具有启发性,它用生动的例子说明了如何通过协议来实现代码的解耦和复用,这对我日常的开发工作有着极大的指导意义。我还注意到,书中还提到了“如何优化Swift代码性能”的技巧,这对于追求极致效率的开发者来说,无疑是宝贵的财富。总的来说,这本书就像一本“速效救心丸”,能够帮助我们这些时间紧迫的开发者,快速地掌握Swift的精髓,并在实际项目中灵活运用。

评分

一直以来,我都觉得Swift是一门非常强大的编程语言,但苦于工作繁忙,难以投入足够的时间去系统学习。偶然间看到《写给大忙人看的Swift》这本书,名字就深深地吸引了我。这本书的封面设计简约而不失专业感,翻开内页,扑面而来的是清晰的代码示例和简洁的文字说明。我特别留意了书中关于“Swift错误处理机制”的讲解,相较于我之前接触过的其他语言,Swift的错误处理方式更加优雅和安全,而这本书用了一种我从未想过的方式来解释,让我茅塞顿开。此外,书中还涉及到了“Swift并发编程”的最新进展,这对于我目前负责的项目来说,是至关重要的。我相信,这本书能够帮助我快速地提升Swift技能,应对日益复杂的开发需求,并且节省宝贵的时间。

评分

我刚收到《写给大忙人看的Swift》这本书,迫不及待地翻看了几页。第一印象是这本书的设计风格非常简洁明快,排版也很舒服,不像有些技术书籍那样密密麻麻令人望而生畏。而且,书中的语言通俗易懂,即使是对Swift不太熟悉的读者,也能轻松理解。我特别留意了书中对Swift一些核心概念的解释,例如它的强类型特性、可选类型以及泛型等等,这些在其他书中可能需要花费大量篇幅才能讲清楚的内容,在这里被精炼地呈现出来。我尝试着去理解书中关于“如何用Swift写出更安全、更高效的代码”的讲解,感觉思路非常清晰。这本书似乎没有打算从零开始,而是假设读者已经具备一定的编程基础,直接切入Swift的精髓,这对于争分夺秒的开发者来说,简直是福音。我对书中关于“Swift在实际项目中的应用”的案例也非常感兴趣,希望能从中学习到一些实用的技巧和最佳实践。

评分

作为一名忙碌的开发者,我一直想在业余时间深入学习Swift,但时间和精力总是捉襟见肘。当《写给大忙人看的Swift》这本书摆在我面前时,我被它的名字深深吸引。虽然我还没有来得及细读,但仅仅从目录和前言来看,我就能感受到作者的用心良苦。它似乎精准地抓住了我们这类开发者的痛点——如何在有限的时间内高效地掌握一门新的编程语言。书中那些直击要点、层层递进的章节安排,让我对Swift的核心概念和实用技巧有了初步的轮廓。我尤其期待书中关于“如何快速上手构建App”的部分,这对于像我这样需要快速验证想法的开发者来说,无疑是雪中送炭。而且,我发现书中还专门辟出了“Swift进阶之路”的章节,这让我看到了未来深入学习的可能性,不必担心这本书只是浅尝辄止。整体而言,我对这本书抱有极大的期待,相信它能够帮助我克服时间障碍,真正掌握Swift这门强大的语言。

评分

还没来得及深入学习,只是浏览了一下《写给大忙人看的Swift》的章节结构。不得不说,这本书的结构安排非常巧妙。它并没有采用传统的、从基础语法到高级特性的线性叙述方式,而是似乎根据“效率”和“实用性”来组织内容。我看到了一些关于“Swift设计模式精粹”、“函数式编程在Swift中的应用”这类章节,这让我眼前一亮。通常,这些内容在其他书中可能被放在非常靠后的位置,甚至需要专门去寻找。这本书将它们提前,并且用“大忙人”能理解的方式来呈现,这让我觉得作者对读者的需求有着深刻的洞察。此外,书中提到的“如何利用Swift进行移动端开发”的章节,也正是我目前最需要的。我相信,通过这本书,我能够快速地掌握Swift在实际项目中的应用,而不是仅仅停留在理论层面。

评分

国内写的还可以,扫盲必看

评分

买了很多这个非常满意谢谢 我很喜欢

评分

基础的app教程,可以多了解一种思维方式。

评分

正版,儿子编程用书。

评分

书很好,是正版,不过版本有点儿低

评分

写得算是比较深入一点,适合有一定基础的人看

评分

入门书籍,正版,送货快。支持京东。

评分

活动价格非常不错,值得购入。

评分

好。。。。。。。。。。。。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有