自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乐闻世界

生命不息,奋斗不止

  • 博客(147)
  • 收藏
  • 关注

原创 服务器工具软件安装教程大全

> 如果你正在学习服务器知识,肯定需要学习安装各种功能软件。>> 正好,我整理了常用软件的安装列表。方便自己,也希望能帮到你。>> 建议**「点赞收藏」**

2020-04-09 20:48:43 557 1

原创 Reac保姆级通俗易懂教程汇总(超详细版!!!)

React 新手级基础知识,React 状态管理总结,React 开发编译部署,从Webpack入门前端开发架构以及 React项目实战经验保姆级教程!!!

2019-07-10 23:28:27 438

原创 Axios封装多种方式实现以及高级用法详解(文件上传,请求重试,取消请求等)

本文介绍axios的特点,简单的操作,可配置属性,统一的封装(适合大型项目)以及一些高级操作,比如取消请求,请求重试,上传文件,xsrf攻击防御。

2019-07-08 22:05:45 2059

原创 NestJS 如何自定义中间件以及实际项目基于中间件提升项目开发效率

NestJS 作为一个强大的 Node.js 框架,允许你通过中间件对请求和响应进行处理。中间件的概念在其他许多框架中也存在,它们在请求处理流程的早期执行,因此非常适合执行如日志记录、请求验证、设置响应头等任务。在这篇教程中,我将通过一个简单的示例,展示如何在 NestJS 应用中创建和使用自定义中间件。

2024-01-12 23:42:03 1072

原创 一篇文章学会如何轻松集成 Swagger 到 NestJS 项目

NestJS是一个高效且适用于构建服务器端应用程序的框架,它基于Node.js并且被设计为灵活和可伸缩。Swagger,现在更多被称为OpenAPI,是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。集成Swagger到NestJS可以大大提高你的API的文档质量,并提供一个交互式的用户界面,供开发人员和最终用户使用。本文将详细介绍如何在 NestJS 项目中集成 Swagger。

2024-01-12 23:28:45 1101

原创 什么是Session以及如何在 NestJS 项目中的优雅管理 Session

众所周知,HTTP协议是无状态的,这意味着每次浏览器请求服务器的时候,服务器并不知道这个请求与之前的请求是否来自同一个用户。这就像你每次到咖啡店,咖啡师都不记得你喜欢什么口味的咖啡一样。为了解决这个问题,Session被设计来跟踪和保持用户的状态。Session可以被理解为服务器端存储的一块空间,每个用户都有一个独立的Session空间,用来保存用户相关的信息,比如用户的登录状态、购物车中的商品等。

2024-01-11 23:53:19 997

原创 前端离线存储能力:如何在 React 中巧妙运用IndexedDB

当我们开发复杂的Web应用时,常常需要在客户端存储大量数据。你可能听过 `localStorage`或者 `sessionStorage`,但它们在存储空间和功能上都有限。而今天我们要聊的,是一个功能更强大的技术:**IndexedDB**。IndexedDB是一个运行在浏览器中的非关系型数据库。它让你能够存储大量的数据,并具有高性能的查询能力。不像localStorage只能存储字符串,IndexedDB可以存储各种类型的数据,比如文件、Blob,以及你可以想到的其

2024-01-11 23:52:12 1505

原创 实战篇:如何在 NestJS 项目中支持 i18n 国际化本地化

在当今全球化的互联网环境下,为软件添加国际化(Internationalization,通常简称为i18n)支持变得至关重要。NestJS 作为一个现代、功能丰富的 Node.js 框架,提供了强大的国际化机制。本文将指导您如何在 NestJS 项目中实现 i18n 功能。i18n 是国际化的缩写,数字 18 代表起始字母 “I” 和结束字母 “n” 之间的字母数。在 NestJS 中实现 i18n 意味着您的应用可以支持多种语言,根据用户的偏好显示内容。

2024-01-09 23:33:06 632

原创 NestJS 支持自定义CLI命令行?一篇文章深入Command装饰器使用

NestJS 作为一个高效、可扩展的 Node.js web 框架,其设计上受到 Angular 的启发,提供了强大的模块化与依赖注入特性。前端的开发者们早已习惯于这些概念,并且这种设计哲学也在 Node.js 的后端开发中大放异彩。@Command。这是 NestJS CLI 的一个特性,允许你创建自定义的命令行指令 (CLI commands),它可以极大地增强你的后端服务的可交互性和灵活性。让我们步入正题,现在,我们要创建一个简单的命令,它将用于输出 “Hello World”。

2024-01-09 23:15:31 1677

原创 解决 NestJS 项目中接口跨域问题的三种方案

当我们的NestJs后端服务需要被不同源的前端项目访问时,就可能遇到“跨域问题”。跨域问题(CORS,Cross-Origin Resource Sharing)本质上是浏览器的一种安全机制,用于限制一个源(origin)中的web应用如何与另一个源的资源进行交互。幸运的是,NestJs提供了一些简单的方法来解决这一问题。CORS是一种机制,它使用额外的HTTP头来告诉浏览器让运行在一个源(domain)上的Web应用被准许访问来自不同源服务器上的指定资源。

2024-01-08 23:41:09 1511

原创 如何在 NestJS 中使用 TypeORM 实现多数据库连接配置

当你打算在一个 NestJS 应用中操作多个数据库时,TypeORM 提供了优雅而强大的解决方案。在本教程中,我们将一步步了解如何在 NestJS 项目中配置 TypeORM 以使用多个数据库。现在你已经了解了在 NestJS 应用中使用 TypeORM 设置和操作多个数据库的完整流程。通过上述步骤,你不仅可以连接单一数据库,而且还能够灵活地同步操作多个数据库。

2024-01-08 23:05:09 1614

原创 打造清晰的日志管理策略:如何在 NestJS 中集成 winston 高级日志系统

在Web应用程序的开发过程中,日志管理是不可或缺的一部分。日志可以帮助我们了解应用程序的运行状态,监控系统行为,以及在出现问题时快速定位和解决问题。对于使用NestJS框架的项目来说,集成一个高效、可扩展的日志系统尤为重要。在本教程中,我们将探讨如何在NestJS项目中集成日志系统,并管理系统日志。为了将选择的日志库(如winston)整合到NestJS中,你需要创建一个自定义的。你可以在这个服务中定义日志的各种级别,比如debuginfowarn和error。

2024-01-06 20:04:13 1331

原创 一篇文章学会在 NestJS 中优雅实现定时任务,Cron Task 最佳实践与技巧

NestJS 是一个强大的Node.js框架,它帮助开发者以优雅、模块化的方式构建高效、可扩展的服务器端应用程序。本文旨在简洁明了地向你展示如何在NestJS中启用和使用定时任务,即使你是初次接触这个话题,也能够快速上手。定时任务,也称为计划任务,是后端服务中常用的一个功能,它允许你在指定的时间执行代码。想象一下,你需要每天早上6点发送邮件通知或者每隔一小时刷新你的应用数据,这些都可以通过定时任务来完成。NestJS中的定时任务功能强大而且易于使用。

2024-01-06 19:59:40 937

原创 微服务管家:NestJS 如何使用服务发现 Consul 实现高效的微服务节点管理

在微服务架构中,服务发现是一项基础且关键的功能,它允许服务实例在网络中被动态发现。Consul 是一种服务网格解决方案,提供了服务发现、运行状况检查,过去和现代应用程序的连接等功能。本教程将向您展示如何在 NestJS 框架中集成 Consul 实现服务发现的能力。Consul 是由 HashiCorp 公司开发的一种服务网格解决方案,它提供完整的服务网格特性,并且可以在任何运行您的应用程序的环境中运行。服务发现。

2024-01-05 23:30:29 1282

原创 一篇文章学会如何在 NestJS 中开启微服务,微服务实战分享

在软件开发的世界里,微服务架构是一个经常被提及的概念。但它到底是什么意思呢?为什么现在这么多团队和公司选择使用微服务?而NestJS又是如何帮助开发者构建微服务的?想象一下,你想建一座大厦。你可以选择由一间强大的公司全权负责,从地基到尖塔的每一部分;另一种方法是,你选择多间专业的小公司,一家负责电梯,一家负责供电系统等等。每间公司都是建筑部分的专家,并负责自己区域内的一切。微服务就是采用这后者的思路,但对象是软件应用。

2024-01-05 23:27:39 961

原创 一篇文章学会如何在 NestJS 中集成 MongoDB 并实现数据的增删改查操作

在现代的Web应用程序开发中,无论是在数据存储、检索、还是数据流转的各个环节,数据库都扮演着极其重要的角色。MongoDB是一个基于分布式文件存储的开源数据库系统,以其高性能、高可用性和易扩展性著称。作为JavaScript社区最受欢迎的后端框架之一,NestJS 提供了优雅的解决方案来与各种数据库进行交互,其中就包括了对MongoDB的支持。本教程将通过一个简单而通俗的实例,带你在NestJS中集成MongoDB。我们将创建一个简易的用户管理系统,实现用户的增删改查操作。

2024-01-04 21:32:27 1505

原创 一篇文章学会如何在 NestJS 中使用 Redis 并基于 Redis 实现接口访问限频率

在处理高频数据操作和大规模并发请求的场合,我们需要一种机制能够快速读取和缓存数据,这时 Redis 就闪亮登场了。Redis 是一个开源的内存中数据结构存储系统,它可以用作数据库、缓存和消息中间件。NestJS 是一个灵活且模块化的Node.js框架,它借鉴了Angular的设计哲学,提出了控制器、提供者和模块的概念,这为我们集成和使用Redis提供了便利。本文介绍如何在NestJS框架中集成Redis,并通过实际案例来展示使用Redis的优势。

2024-01-04 20:56:34 1147

原创 如何在 NestJS 项目中优雅的使用发布订阅工具 Event Emitter

在构建复杂的应用时,异步处理和解耦成为了关键所在,而发布订阅模式正好可以辅助实现这两点。在这篇文章中,我们将详细介绍在使用 NestJS 进行 Web 开发时,如何利用包进行发布订阅模式的实现。发布订阅模式是一种广泛使用的消息传递方式,发布者发布消息,订阅者订阅关注的消息,然后接收这些消息。发布者和订阅者之间不存在直接联系,它们通过消息队列或者主题进行通讯。这种模式能够确保系统的解耦,异步处理以及消息的广播。定义一个事件,例如) {}通过以上步骤,你已经成功在 NestJS 应用中使用。

2024-01-03 21:30:16 475

原创 一篇文章学会使用 NestJS 的 Module 实现高效的代码模块管理

在构建大型Web应用时,代码的组织和管理往往十分复杂。有没有一种方式可以使应用的每一个部分可以过分承担工作并保持独立,同时又能一起协作实现应用的完整功能呢?本文将为您详细介绍NestJS模块的概念以及创建过程。NestJS模块类似于工厂中的各个部门,每个部门有一套自己的工作模式,但最终共同完成整个生产流程。通过这篇文章,您不仅将理解NestJS模块是什么,更能掌握如何创建自己的自定义模块,使你的NestJS应用更加强大和易于管理。

2024-01-03 21:27:25 1064

原创 一篇文章学会如何使用 NestJS 的五种 Provider 提供者

在构建复杂的后端应用中,如何有效地管理和彼此协作的各个部分,以及如何共享和复用功能已成为开发者们重要关注的问题。覆盖这些需求的一种技术就是 NestJS 中的 Providers。这次,让我们一起深入探讨这个关键概念,解密 Providers 的奥秘,了解它们是如何提供和分配服务的。Provider 是 NestJS 中的一种核心构建块,它提供了封装与分享服务逻辑的方式。实际上,你可以将 Provider 看作是一种可以注入到任何地方的对象或实体。这些对象可以是类、工厂、值甚至更复杂的结构。

2024-01-02 21:52:59 529

原创 一篇文章学会如何使用 NestJS 的 Pipes 管道实现高效的数据转换和验证

当我们基于NestJS框架构建和管理应用程序时,为了保障其安全性,我们常常需要对某些敏感操作或敏感信息的访问进行限制,这是我们需要使用到守卫的地方。它作为一种可以阻止未经授权的访问的机制,对我们的应用程序起到了守护的作用。在这篇文章中,我将深入剖析 NestJS 的守卫,以帮您全面了解这个概念。我会从解释其背后的工作机制开始,接着介绍使用守卫的各种场景,并以详细的示例来演示如何在 NestJS 项目中实现和使用守卫。什么是 Guards 守卫。

2024-01-02 20:57:29 899

原创 一篇文章学会如何使用 NestJS 的 Guards 守卫实现系统用户身份验证和授权

当我们基于NestJS框架构建和管理应用程序时,为了保障其安全性,我们常常需要对某些敏感操作或敏感信息的访问进行限制,这是我们需要使用到守卫的地方。它作为一种可以阻止未经授权的访问的机制,对我们的应用程序起到了守护的作用。在这篇文章中,我将深入剖析 NestJS 的守卫,以帮您全面了解这个概念。我会从解释其背后的工作机制开始,接着介绍使用守卫的各种场景,并以详细的示例来演示如何在 NestJS 项目中实现和使用守卫。什么是 Guards 守卫。

2024-01-01 20:53:53 1093

原创 一篇文章学会如何使用 NestJS 的 Middleware 中间件,让你的应用灵活可扩展

当我们基于NestJS框架构建和管理应用程序时,常常需要在特定的阶段执行一些额外的操作,例如在接收请求时进行身份验证,或在发送响应之前添加一些自定义的HTTP头。这就是我们需要理解和使用NestJS中间件的原因 ——它就像一道门,所有的请求必须要过这道门,而我们可以在门上挂上各种“魔法”,使得我们的应用程序更强大、更容易管理。什么是NestJS中间件NestJS中间件实际上就是一个函数,这个函数可以对请求或响应对象进行一些操作,或者在传递给下一个处理程序之前进行一些预处理。

2024-01-01 20:15:59 513

原创 一篇文章学会如何使用 NestJS 的 Filter 过滤器处理系统全局异常情况

当一个程序运行过程中发生了异常,并且这个异常没有被捕获处理,用户就会看到一些奇怪的错误信息,这种现象对用户体验非常不好。此时,NestJS的过滤器就登场啦!过滤器可以用来捕捉未被处理的异常,然后以一种更有秩序、更友好的方式显示,极大提升了用户体验。上面例子展示了NestJS过滤器强大的自定义能力,我们可以按照应用程序的需要来实现复杂的异常处理逻辑。但是,请注意,在过滤器中应避免进行太复杂的操作,以免增加调试的难度和系统的复杂性。

2023-12-30 23:02:01 604

原创 一篇文章学会如何使用 NestJS 的 Interceptor 拦截器并且附带实战操作案例

在现代Web开发的世界中,NestJS以其灵活性和强大的功能立足,成为Node.js框架的佼佼者。其中一个引人注目的功能就是拦截器,这是一种可以让开发者更好地控制和补充HTTP请求循环的工具。拦截器让开发者可以在处理程序之前或之后“拦截”HTTP请求,这是解决一系列问题的基石。简单来说,拦截器是一种特殊类型的服务,运行在路由处理程序方法之前和之后。它们在每次请求和响应的生命周期中都被调用,能够在请求处理之前进行操作,或对从处理程序返回的响应进行转换。

2023-12-30 22:41:38 542

原创 一篇文章掌握如何在 NestJS 中安全高效的管理 Config 全局配置文件

应用程序通常需要在多种环境中运行,比如本地开发环境、测试环境和生产环境。在不同的环境中,我们通常需要采用不同的配置设置。举个例子,本地环境可能需要一个特定的数据库凭据,而生产环境则使用另一组完全不同的数据库凭据。由于这些配置变量频繁地改变,因此最佳实践是将它们存在环境变量中。在Node.js中,外部定义的环境变量可以通过全局变量来访问。一种可能的做法是在每个环境中设置不同的环境变量,然而这样做在管理上变得越来越复杂,特别是在需要频繁模拟或更改这些值的开发和测试环境中。一个常见的做法是使用.env。

2023-12-29 22:20:52 653

原创 一篇文章掌握 NestJS 所有的生命周期以及生命周期的执行时机

NestJS 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的框架,它使用 TypeScript 作为开发语言,也支持原生的 JavaScript。在 NestJS 中,生命周期事件是一个重要的概念。在我们构建和管理应用程序时,有时需要在特定的阶段执行一些操作,例如在创建实例,添加或删除模块,突然终止程序时,对这些事件加以利用,可以使我们的应用程序更强大、灵活。在本文中,我将介绍 NestJS 的生命周期,如何使用生命周期,并通过给出详细的例子加深理解。

2023-12-29 21:10:20 1103

原创 VSCode 如何安装插件的历史版本

在日常开发过程中,我们可能会遇到新版VSCode插件存在问题,无法正常工作的情况。这种情况下,一种可行的解决方案就是安装插件的历史版本。VSCode 插件默认安装的都是插件最新的版本,例如下面。中看到有不少人遇到了相同的问题,推荐的做法是按照固定版本的。时,为了实现代码智能提示,官方推荐使用。本人最近面临这种情况,我在项目中使用。,搜索对应的VSCode 插件,比如。选择下载完成的 vslx 文件,插件,但是我按照步骤按照了。插件 github 仓库的。插件,这个版本不是最新的。插件后发现并没有生效。

2023-12-28 22:06:43 1943

原创 React Query 实战教程:在 React 中如何优雅的管理接口数据状态?

如何通过Ajax或者Fetch优雅的请求后端接口,这是所有复杂前端项目都需要考虑处理的事情。在React项目中,有不少成熟的Hook能够让开发者管理整个请求过程中的数据和状态,例如use-httpswr甚至ahook中提供的useRequest。我曾经很长一段时间是直接使用ahook中的useRequest,但是有的项目中不需要ahook中的其他hook,我又不愿意仅仅为了使用useRequest而在项目中引入ahook。就像我第参与的一个前端项目中仅仅为了使用jquery的$.ajax而引入。

2023-12-28 20:39:19 1747

原创 一文教你掌握 CSS 渐变属性linear-gradient、radial-gradient

现代流行的网站上的颜色配置都丰富绚丽,用户会因为从灰色单一色彩到活力渐变红的背景所吸引。对于开发者而言,需要掌握这些视觉效果的实现方式。为了实现渐变效果,前端开发者可通过CSS 中和这两种函数完成各种好看的效果。本文详细介绍和两个属性的使用方式,并且提供有趣的效果。函数就像是在画布上画一个色彩斑斓的阶梯。颜色在直线方向逐渐改变,创建出丰富的视觉效果。angle: 角度例如 ‘45deg’,表示渐变线的方向是 45 度。

2023-12-27 23:27:43 863

原创 如何通过 useMemo 和 useCallback 提升你的 React 应用性能

useMemouseMemo的作用是返回一个 memoized 值,它接受两个参数:一个函数和一个依赖数组。只有当依赖项中的一个值变化,才会重新计算并返回新的 memoized 值。[a, b],上述代码例子中,useMemo返回了一个 memoized 版本的函数结果,a或b改变时,才会重新计算。举个例子假设 computeExpensiveValue是一个需要大量计算资源的函数,比如它需要计算斐波那契数列的第 n 项。在这种情况下,每次组件渲染时重新计算显然是一种资源浪费。

2023-12-27 23:25:29 763

原创 如何在 TypeScript 中遍历 Enum 的两种方案

TypeScript 中有一个 JavaScript 中没有的声明关键字,即 `enum` ,在 TypeScript 项目开发过程中,我发现使用枚举enum的概率是极高的。枚举是一种特殊的数据类型,它允许开发者定义一个静态变量集合。枚举类型帮助开发者清晰的预设集合中的变量,并且不允许运行时修改,这为程序运行提供了可预测性和稳定性的保障。在开发过程中,我们经常遇到需要遍历对象中所有属性的情况,对于特殊的枚举enum对象,这种情况也是很常见的。

2023-12-26 22:16:31 1522

原创 TypeScript进阶:一文讲清 TypeScript 的 Omit 和 Exclude 使用方式与功能对比

Exclude的主要作用是从 T类型中排除出可以赋值给 U的类型,创建出一个新的子类型。// 结果是 'c'在这个例子中,我们定义了两个类型 T和 U,T是一个包含 'a', 'b', 'c'三个成员的联合类型,而 U是包含 'a', 'b'的联合类型。通过 Exclude我们从 T中排除了可以赋值给 U的类型,所以结果类型 Result就变成了 'c'。OmitOmit的主要功能在于,从一个已有的对象类型 T中排除指定的属性 K。

2023-12-26 20:08:22 1191

原创 如何在 NestJS 项目中自定义装饰器,四种不同类型装饰器Decorator

类装饰器在声明前被申明,它接受类的构造函数作为参数。// 添加自定义逻辑...// 例如,我们可以添加新的属性或方法创建装饰器后,我们就可以开始使用它。//...总的来说,创建自定义装饰器是一种强大的技术,让我们的代码变得更加轻量,逻辑更加清晰。理解并使用装饰器是我们深化对 NestJS 的理解,并充分利用其强大功能的关键。尽管本文已经为你介绍了如何创建各种类型的装饰器,确保在实战中正确使用它们仍然是很重要的。值得注意的是,尽管装饰器具有强大的功能,但应谨慎使用。

2023-12-25 21:36:03 621

原创 如何使用 pnpm 实现前端 Monorepo项目管理

随着软件开发项目变得越来越庞大和复杂,如何有效管理和维护代码库成为了一个重要的问题。一种流行的解决方案是 Monorepo,也就是在一个版本控制系统中管理所有的项目代码。Monorepo 是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性。React项目便是基于monrepo方式管理pnpm是一款快速、高效的 Javascript 包管理器。它的核心特点包括节省磁盘空间和更强的安全性。更重要的是,pnpm。

2023-12-25 20:18:52 1478

原创 前端提效神器:使用NRM切换和管理众多的NPM registry 源

nrm是一个极为方便的工具,能够帮助开发者轻松切换npm源,以应对不同的需要或是解决各式各样的问题,无论你何时需要,都可以轻松切换过去,这无疑能进一步提高你的开发效率。

2023-12-24 18:58:11 943

原创 使用 Verdaccio 构建自己的私有 npm 仓库

无论你是公司的开发者,还是个人开发者,你可能都听说过或者使用过 npm,这是一个使用广泛的 JavaScript 包管理器。但是,你是否遇到过以下的问题:你需要一个私有的包存放地方,或者你需要在离线环境下使用包,或者你有一些需要测试的包不能上传到公共npm上。这时,你就可以选择 使用 Verdaccio 搭建一个自己私人的 npm 仓库。快速的安装时间,离线访问,访问控制,以及测试发布,都让 Verdaccio 成为一个强大的工具,能够满足开发团队和个人开发者对于 npm 包的要求。

2023-12-24 13:18:19 1330

原创 一文讲清 TypeScript 的类型推断与类型断言:功能解析与应用场景

在TypeScript开发过程中,类型推断(Type Inference)和类型断言(Type Assertion)是两个重要且频繁使用的概念。本文将分别对这两个概念进行深入介绍,并通过实例讨论它们在实践中的应用。类型推断是TypeScript根据变量或表达式的上下文信息自动推测出的类型。类型推断通常在初始化变量和成员,设置参数默认值,或者根据函数返回值时发生。let x = 3;// TypeScript推断出x的类型为number在上述代码中,我们并没有指定x的类型,TypeScript根据x。

2023-12-23 19:22:46 514

原创 一文讲清什么是TypeScript装饰器以及如何使用TypeScript装饰器

装饰器在 TypeScript 中的应用场景非常广泛,可以为我们提供强大的编程工具,如类装饰器、方法装饰器、属性装饰器、参数装饰器和访问器装饰器等,使得我们可以在编译阶段进行诸如日志记录、性能计算、参数验证等多种复杂的操作,使用这些装饰器,我们可以保持代码的整洁和解耦,使程序更易于理解和维护。

2023-12-23 18:54:40 1210

原创 使用TypeScript范型提升代码复用性和安全性

范型TypeScript 的范型(Generics)是一种创建可重复使用的组件的方式,这种组件可以对多种数据类型进行操作。范型本质上是为参数化的类型系统提供了工具,它提供了一种方法,能让你在定义函数、接口或类时不具体指定类型,而是在使用时再明确类型。普通类型和范型最主要的区别普通类型在编码阶段就已经确定了数据类型,对于不同类型的处理需要写多个函数或者类;范型则使用一种动态的方式,不断变化以适应不同的需求,使得你可以使用相同的函数或者类去处理不同类型的数据;

2023-12-22 22:24:29 375

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除