96SEO 2026-08-02 10:56 2
also 是 Kotlin 标准库里的作用域函数。
常见的作用域函数有:

letrunwithapplyalso
also 主要用于附加操作,例如打印日志、调试中间结果、做校验、记录埋点、保存审计信息。话说回来,
一句话概括:
val result = value.also {
println
}
这里的 result 仍然是 value 本身。
public inline fun T.also -> Unit): T {
block
return this
}
关键点的观点是,
T: 调用对象的类型。 -> Unit: 接收当前对象、无返回值要求的 Lambda。按理说,block: 把当前对象传给 Lambda。return this: 返回调用对象本身。方法: `also` 永远返回原对象,Lambda 的最终一行表达式会被忽略。
fun main {
val name = "Kotlin"
val result = name.also {
println
}
println
}
至于输出,
当前值: Kotlin
Kotlin
If you prefer a named parameter:
fun main { val name = "Kotlin" val result = name.also { value -> println } println }
The logic is simple enough to use `it`,but when lambda grows,naming parameter improves readability.
fun main { val result = "Kotlin".also { it.length // 这行代码的返回值会被丢弃 } println }
Kotlin
If you actually want length,use `let`**:
val length = "Kotlin".let { it.length }
| 函数 | Lambd a 中如何访问对象 | 返回值 | 常见用途 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| `also` | `it` | 对象本身 日志、调试、校验、附加动作 | |||||||
| `apply` | `this` | 对象本身 | 对象初始化、属性配置 | ||||||
| `let` | `it` | Lambda 结果 | 数据转换、链式计算 | ||||||
| `run` | `this` | Lambda 结果 | 在对象作用域里计算一个结果 | ||||||
| `with` | `this` `apply` 示例 kotlin data class User( var name: String = ""。var age: Int = 0 ) val user = User.apply { name = "Tom" age = 28 } | ||||||||
| `also | `it | Object itself | Logging / Debugging / Validation / Side‑effects" | ||||||
| "this | Object itself | Object configuration / Builder pattern" | |||||||
| "it | Result of lambda | Transformations / Null‑safe chaining" | |||||||
| "this | Result of lambda | Execute a block with object as receiver" | |||||||
| "this |
Select rule:
kotl in
val r ="Kotl in".als o{
it.leng th
}
println
// 输出 K otl in
kot lin
val list= mutableListO f
kot lin
f unc tion logOrde r{
prin tln
}
val order=Orde r.al so
kot lin
val resu lt= orders.f ilter { i t.paid }
.als o { pri ntln }
.gro upBy { i t.city }
.als o { pri ntln }
....
Pain point summary: 在实际项目里经常因为想在链式调用中 “看一下中间状态” 而写大量临时变量。使用 also 可以“一行代码”完成查看而不破坏业务流;
话说回来,但要注意不要让过多的也产生噪音。建议抽成统一的日志工具或条件化函数。
also 是一种作用域函数。 it访问调用对象。 also 总是返回原始对象本身。
apply 更适合 “初始化/配置”。 let 更适合 “把一个对象转换成另一个值”。
run,with: 用于在接收者上下文中计算并返回一个新值。<\/ul>
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback