<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>编译器原理 on Answer</title>
    <link>https://answer.freetools.me/categories/%E7%BC%96%E8%AF%91%E5%99%A8%E5%8E%9F%E7%90%86/</link>
    <description>Recent content in 编译器原理 on Answer</description>
    <generator>Hugo -- 0.152.2</generator>
    <language>zh-cn</language>
    <lastBuildDate>Fri, 06 Mar 2026 02:55:46 +0800</lastBuildDate>
    <atom:link href="https://answer.freetools.me/categories/%E7%BC%96%E8%AF%91%E5%99%A8%E5%8E%9F%E7%90%86/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>闭包捕获：为什么同一个循环变量在不同语言中行为截然不同</title>
      <link>https://answer.freetools.me/%E9%97%AD%E5%8C%85%E6%8D%95%E8%8E%B7%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E4%B8%AA%E5%BE%AA%E7%8E%AF%E5%8F%98%E9%87%8F%E5%9C%A8%E4%B8%8D%E5%90%8C%E8%AF%AD%E8%A8%80%E4%B8%AD%E8%A1%8C%E4%B8%BA%E6%88%AA%E7%84%B6%E4%B8%8D%E5%90%8C/</link>
      <pubDate>Fri, 06 Mar 2026 02:55:46 +0800</pubDate>
      <guid>https://answer.freetools.me/%E9%97%AD%E5%8C%85%E6%8D%95%E8%8E%B7%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E4%B8%AA%E5%BE%AA%E7%8E%AF%E5%8F%98%E9%87%8F%E5%9C%A8%E4%B8%8D%E5%90%8C%E8%AF%AD%E8%A8%80%E4%B8%AD%E8%A1%8C%E4%B8%BA%E6%88%AA%E7%84%B6%E4%B8%8D%E5%90%8C/</guid>
      <description>从1964年Peter Landin首次提出闭包概念，到2024年Go 1.22修改循环变量语义，六十年间闭包捕获机制在不同语言中呈现出截然不同的设计选择。本文深入剖析JavaScript的var/let语义差异、Python的延迟绑定、Go的十年语义变迁、Rust的所有权系统、C&#43;&#43;的显式捕获、Swift的捕获列表以及Java的invokedynamic实现，揭示安全、简洁、性能三者之间的深层权衡。</description>
    </item>
  </channel>
</rss>
