Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain

3.4 函数与模块化编程

3.4.1 函数的基本概念

在仓颉编程语言中,函数是代码的基本构建块之一。函数允许你将一段逻辑封装起来,以便在程序的其他地方重复使用。函数的基本语法如下:

函数 函数名(参数列表) -> 返回值类型 {
    // 函数体
    返回 返回值;
}

例如,定义一个简单的加法函数:

函数 加法(a: 整数, b: 整数) -> 整数 {
    返回 a + b;
}

3.4.2 函数的参数与返回值

仓颉语言支持多种参数传递方式,包括按值传递和按引用传递。默认情况下,参数是按值传递的,但你可以通过使用 & 符号来指定按引用传递。

函数 修改值(值: &整数) {
    值 = 值 + 1;
}

返回值可以是任何数据类型,包括基本类型、复合类型,甚至是函数类型。如果函数没有返回值,可以省略 -> 返回值类型 部分。

3.4.3 高阶函数与闭包

仓颉语言支持高阶函数,即函数可以作为参数传递给其他函数,或者作为返回值返回。这使得仓颉语言在函数式编程方面非常强大。

函数 应用函数(函数: (整数) -> 整数, 值: 整数) -> 整数 {
    返回 函数(值);
}

闭包是另一种强大的特性,它允许函数捕获并访问其定义环境中的变量。

函数 创建计数器() -> () -> 整数 {
    变量 计数 = 0;
    返回 函数() -> 整数 {
        计数 = 计数 + 1;
        返回 计数;
    };
}

3.4.4 模块化编程

模块化编程是将程序分解为多个模块或文件的过程,以便更好地组织代码并提高代码的可维护性。在仓颉语言中,你可以使用 模块 关键字来定义一个模块。

模块 数学工具 {
    函数 加法(a: 整数, b: 整数) -> 整数 {
        返回 a + b;
    }

    函数 减法(a: 整数, b: 整数) -> 整数 {
        返回 a - b;
    }
}

在其他文件中,你可以通过 导入 关键字来使用这些模块。

导入 数学工具;

变量 结果 = 数学工具.加法(3, 4);

3.4.5 模块的可见性与访问控制

仓颉语言提供了访问控制机制,允许你控制模块中哪些部分对外可见。默认情况下,模块中的所有内容都是私有的,除非你使用 公开 关键字显式地将其标记为公开。

模块 数学工具 {
    公开 函数 加法(a: 整数, b: 整数) -> 整数 {
        返回 a + b;
    }

    函数 减法(a: 整数, b: 整数) -> 整数 {
        返回 a - b;
    }
}

在这个例子中,加法 函数是公开的,可以在其他模块中使用,而 减法 函数是私有的,只能在 数学工具 模块内部使用。

3.4.6 模块的依赖管理

仓颉语言支持模块之间的依赖管理。你可以通过 依赖 关键字来声明模块之间的依赖关系。

模块 我的模块 {
    依赖 数学工具;

    函数 计算() -> 整数 {
        返回 数学工具.加法(3, 4);
    }
}

3.4.7 模块的测试与文档

仓颉语言内置了测试框架,允许你为模块编写单元测试。你可以使用 测试 关键字来定义测试用例。

模块 数学工具 {
    公开 函数 加法(a: 整数, b: 整数) -> 整数 {
        返回 a + b;
    }

    测试 函数 测试加法() {
        断言 加法(3, 4) == 7;
    }
}

此外,仓颉语言还支持文档注释,你可以使用 /// 来为模块和函数编写文档。

/// 这是一个加法函数
/// 参数 a: 第一个加数
/// 参数 b: 第二个加数
/// 返回值: 两个加数的和
公开 函数 加法(a: 整数, b: 整数) -> 整数 {
    返回 a + b;
}

3.4.8 总结

函数与模块化编程是仓颉语言的核心特性之一。通过函数,你可以将代码分解为可重用的单元,而通过模块化编程,你可以更好地组织和管理代码。掌握这些特性将使你能够编写出更加清晰、可维护和高效的代码。

Last Updated:: 3/18/25, 4:00 PM