Carbon语言 函数
函数是由多条语句组成的代码块,具有一定功能,用于完成一项特定任务。
通常每一个程序都包含有很多的函数,系统通过函数来划分不同功能,将整体任务进行分解。
fn Add(a: i64, b: i64) -> i64 { return a + b; }
Carbon中这个Add函数的写法和Rust中实现一个Add几乎一模一样。 比如声明参数的时候类型在后,并且冒号分割的参数写法。还有fn关键字。 当然在函数体内逻辑复杂的时候,会和Rust不同,因为Rust还有不带分号的表达式语法,表达式的值就是整个函数的值。Carbon没有那种怪异的东西。 另外 Carbon 也能进行返回值的类型推导:
fn Add(a: i64, b: i64) -> auto { return a + b; }
一个更复杂的函数的例子:
package Geometry api; import Math; // 导入其他包 class Circle { // 定义一个Circle类 var r: f32; } fn ScaleAreaAndAppend(circle: Circle, log2_scale: i32, results: Vector(f32)*) { var area: f32 = Math.Pi * c.r * c.r; let scale: i32 = 1 << log2_scale; area *= scale; results->append(area); }
参数默认都是常量,除非声明成指针类型。
Carbon 支持面向对象编程。类是 Carbon 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类被称为类的成员。1 ...