开坑commander
1. 全局安装 commander (yarn|pnpm | npm) node 执行即可运行 commander 脚本
commander 内置 program 支持链式调用,添加 option、description、parse 写入。
Copy
const…
解释器
因为 Go 具有像动态语言那样快速编译的能力,自然而然地就有人会问 Go 语言能否在 REPL (read-eval-print loop) 编程环境下实现。Sebastien Binet 已经使用这种环境实现了一个 Go 解释器,你可以在这个页面找到:https…
go的运行时
尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第 10.8 节)、栈处理…
环境变量
Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之前就已经设置好他们。如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go 下。这里列举几个最为重要的环境变量: $GOROOT 表示 Go 在你的电脑上的安装位置…
平台与架构
Go 语言开发团队开发了适用于以下操作系统的编译器: Linux
FreeBSD
Mac OS X(也称为 Darwin)
目前有 2 个版本的编译器:Go 原生编译器 gc 和非原生编译器 gccgo,这两款编译器都是在类 Unix 系统下工作 。其中,gc…
从零入坑Go
1. 语言的特性 Go 语言从本质上(程序和结构方面)来实现并发编程。
因为 Go 语言没有类和继承的概念,所以它和 Java 或 C++ 看起来并不相同。但是它通过接口 (interface) 的概念来实现多态性。Go 语言有一个清晰易懂的轻量级类型系统…
重新认识数据结构
1. 概念# 数据结构与算法是计算机科学的重要基础知识。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。它涉及数据的存储、组织和管理。常见的数据结构包括数组、链表、栈、队列、树、图等。
算法是完成特定任务的步骤或指令的序列。它本质上是对数据操作的一种描述…
script标签中defer和aysnc的区别
async 一个用于<script>标签的布尔属性,用于指示浏览器是否应该异步加载脚本。当设置为 async 时,脚本将在下载时异步执行,不会阻止页面的解析和渲染。这使得脚本可以在后台下载,而不会影响页面的性能。
当设置为 async 时,脚本不会按照它们在页面中出现的顺序执行…
云南你好
装饰器原理与继承的区别
继承概念 先举例子说明继承的概念:
假设张三想买车,他的父亲有辆奔驰,那么他爸把车送他,这叫继承。
装饰器的概念
假设张三有奔驰了,但是想换个轮毂,想换个方向盘,通过他兄弟的贴补,换了套新的套件。
小结
因此继承属于父子集关系,父可限定私有属性,以及 protected…
ts typeof推断隐式类型及应用场景
1.应用场景一 假设某函数获取obj和key两个参数
Copy
function getObj(obj:object,key:string){
return obj[key]
}
存在的问题key不一定属于obj上的索引,因此存在风险。
因此需要讲key断言为obj上类型…
ts断言奇技淫巧
1.当要求自己实现类型提取时,假设要提取Goose中name,age属性会想到以下方法: Copy
type Gooose={
name:string
age:number
getCuurent:()=>void
}
type FilterObj<T,U>={
[P…
ts泛型条件匹配
当有需求要求根据传入类型匹配对对应类型时,实现如下: Copy
type Expample=string
type C<T>=T extends Example?string:boolean
const res:C<string | number>=true
const…
ts实现在索引中自定义签名
约束一个类型中,假设规定了其他固定类型,要求用户传递其他规范时增加约束,比如,key 以 End 结尾。 Copy
type C={
name:string
[key:`${string}End`]:string | number
age?:number
}
//即…
ts实现各种类型工具
类型工具的实现
nestjs缓存策略
nestjs结合redis使用
class绑定方案
一、是什么 在react应用中,事件名都是用小驼峰格式进行书写,例如onclick要改写成onClick
最简单的事件绑定如下:
Copy
class ShowAlert extends React.Component {
showAlert() {
console…
除了递归有什么其他方式实现深拷贝
除了递归,还可以使用迭代来实现深拷贝。具体来说,可以使用栈来保存需要处理的对象,然后在循环中不断出栈并进行拷贝操作,直到栈为空为止。 以下是一个使用迭代实现深拷贝的示例代码:、
Copy
function deepClone(obj) {
let stack = [obj];…