多语言中的变量与函数定义:从语法差异到理解方式

Table of Contents

多语言中的变量与函数定义:从语法差异到理解方式

接触的编程语言越多,越会发现一个很现实的问题:概念看起来差不多,但落到具体语法时,每门语言都有自己的表达习惯。

这篇文章不追求把所有细节一次讲完,而是先抓两个最基础、也最常见的入口:变量定义和函数定义。对刚从一门语言切到另一门语言的人来说,这两个部分通常最容易混淆。

如果你经常在 C#、C++、Python、Go、JavaScript、Rust 之间切换,这类对照会比单独记语法更有帮助。

python/ dart 将类型分为不可变类型与可变类型,对应 C#/Java 中的值类型与引用类型

定义变量

let Rust, js let num = 1;
var or := go var num = 1 or num := 1
[类型] [变量名] = [变量值] C C++ C# int num = 1;
variable_name = variable_value Python num = 1

var 是 C# 的隐式类型推断

auto 是 C++ 自动类型推断

定义函数

func go func add(x, y int) int {
def Python def add(x, y) -> int:
function js function add (x, y) {return x + y;}
fn Rust pub fn add(x: i32, y: i32) -> i32 {
[返回类型] 函数名 C C++ C# int add(int x, int y){

Python 的 def 来自 lisp,全称是 define function

js 的 function可以转换为箭头形式 let add = (x, y) => x + y

C++ 也可以将返回类型放到右边 auto add (int x, int y) -> int { C# 没有类似的写法

什么时候这种对照最有价值

这类内容最适合下面几种场景:

  • 你在快速阅读陌生语言的代码,需要先建立基础语法直觉。
  • 你在准备跨语言开发或面试,希望先把常见表达方式对齐。
  • 你在使用 AI 辅助编程,但不想完全失去对生成代码的判断力。

总结

跨语言学习最有效的方式,不是死记硬背每一种语法,而是先看清楚这些语法背后的表达习惯。

变量定义关注的是“类型信息放在哪里”,函数定义关注的是“接口如何表达”。只要把这两个入口先理顺,再去看对象、集合、错误处理、并发等内容,理解成本会低很多。

Related Posts

多语言中的集合操作:筛选、分组、映射、排序与去重

多语言中的集合操作:筛选、分组、映射、排序与去重 集合操作是业务开发里最常见的一类代码。查列表、做筛选、做映射、按字段排序、按条件分组,几乎每天都在写。

Read More

C++ 面向对象程序设计:继承、虚函数和动态绑定到底在解决什么问题

C++ 面向对象程序设计:继承、虚函数和动态绑定到底在解决什么问题 很多人学 C++ 面向对象时,会背下数据抽象、继承、动态绑定这些术语,但一旦落到代码里,还是容易停留在“语法知道,场景不清楚”的阶段。

Read More

C# lambda 表达式是怎么实现的:为什么捕获变量会这样工作

C# lambda 表达式是怎么实现的:为什么捕获变量会这样工作 很多人第一次深入理解 C# lambda,不是因为它的语法,而是因为它的“行为”看起来有点反直觉。为什么一个局部变量在方法返回之后还能被委托访问?为什么循环里的 lambda 有时会捕获到不同结果?为什么看起来只是一个匿名函数,背后却会影响对象分配和执行结果?

Read More