轩辕十四

探索科技与创新的个人博客

函数

函数是任何应用程序的基本构建块,无论它们是本地函数、从另一个模块导入的函数,还是类中的方法。 它们也是值,就像其他值一样,TypeScript 有很多方法来描述如何调用函数。 让我们学习如何编写描述函数的类型。

阅读全文 »

类型缩小

假设我们有一个名为 padLeft 的函数。

1
2
3
function padLeft(padding: number | string, input: string): string {
throw new Error("Not implemented yet!");
}

如果 paddingnumber,它会将其视为我们想要添加到 input 的空格数。如果 paddingstring,它应该只是将 padding 前置到 input。让我们尝试实现当 padLeftpadding 传递 number 时的逻辑。

1
2
3
function padLeft(padding: number | string, input: string) {
return " ".repeat(padding) + input;
}

哦,我们在 padding 上遇到错误。TypeScript 警告我们,将 number | string 添加到 number 可能不会给我们想要的东西,这是正确的。换句话说,我们没有先明确检查 padding 是否是 number,也没有处理它是 string 的情况,所以让我们这样做。

1
2
3
4
5
6
function padLeft(padding: number | string, input: string) {
if (typeof padding === "number") {
return " ".repeat(padding) + input;
}
return padding + input;
}

如果这看起来像是无趣的 JavaScript 代码,那就是重点。除了我们放置的注释之外,这个 TypeScript 代码看起来像 JavaScript。这个想法是 TypeScript 的类型系统旨在使编写典型的 JavaScript 代码尽可能容易,而无需向后兼容以获得类型安全。

阅读全文 »

字符串

JavaScript 程序的另一项基本操作是处理网页或服务器端的文本数据。 像其它语言里一样,我们使用string表示文本数据类型。 和 JavaScript 一样,可以使用双引号(")或单引号(')表示字符串。

1
2
let name: string = "bob";
name = "smith";
阅读全文 »

当用户浏览、退出和返回到您的应用时,应用中的 Activity 实例会在其生命周期的不同状态间转换。Activity 类会提供许多回调,这些回调会让 Activity 知晓某个状态已经更改:系统正在创建、停止或恢复某个 Activity,或者正在销毁该 Activity 所在的进程。

阅读全文 »

在 C 语言中,结构体是一种非常重要的数据类型。它可以将不同的数据类型组合成一个整体,方便程序员进行操作。比如,我们可以定义一个结构体来表示一个人的信息,包括姓名、年龄、性别等等。使用结构体可以使得程序更加清晰易懂,提高代码的可读性和可维护性。

阅读全文 »

在 macOS 上,man 命令用于查看系统中安装的程序的帮助文档。然而,默认情况下,这些帮助文档都是英文的,对于不熟悉英文的用户来说可能会有些困难。幸运的是,我们可以安装 manpages-zh 来获取中文帮助文档。

阅读全文 »

在 GitHub 上,我们可以使用 Fork 操作将其他用户的仓库复制到自己的账户下。但如果原始仓库更新了,我们可能需要将其再次 fork 到自己的账户下,以保持代码与原始仓库同步。下面将介绍如何使用 Git 命令行进行 GitHub 仓库再次 fork 的操作。

阅读全文 »

Git 是一款分布式版本控制系统,于 2005 年由 Linus Torvalds 创造并开源发布。Git 的设计初衷是为了更好地管理 Linux 内核代码,它的分布式特性使得多人协作开发和大型项目的版本控制变得更加高效和可靠。现在,Git 已经成为了开源社区和软件开发领域中最受欢迎的版本控制工具之一。

阅读全文 »
0%