摘要: 这是我自己学习 Go 的笔记,也想以教程的角度来写,便于自己巩固内容。我在2019年就接触并学习 Go 语言,并且在博客园记录过十多篇博客 在这里,但是后来因为各种原因没有更新了,加上现在对 Go 有了新的了解,所以索性就准备重新写一个系列,按照下面顺序观看即可。 学前准备 Mac 上 Go 语言的 阅读全文
posted @ 2021-05-24 16:59 黑色瓶子 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 公司的一个管理后台项目是基于 vue-cli3 搭建的,这两天我将它升级到了 vue-cli4,顺手也做了一些优化,主要是从 webpack 方面入手,优化一下生产环境的代码。 这里简单提一下怎么升级脚手架版本的,首先将你电脑中的脚手架版本升级到 4,直接重新安装就好,然后在你的项目中执行 vue 阅读全文
posted @ 2020-07-24 10:20 黑色瓶子 阅读(2802) 评论(0) 推荐(0) 编辑
摘要: vue3.0 beta 版本已经发布有一阵子了,是时候上手体验一波了~ 注意,本文所有演示都是基于 vue3.0 beta 版本,不保证后续正式版 api 不改动。等官方文档出来后,以官网为准。 环境搭建 直接使用脚手架,如果本地没有安装的可以执行脚手架安装命令: npm install -g @v 阅读全文
posted @ 2020-05-30 16:29 黑色瓶子 阅读(20977) 评论(5) 推荐(0) 编辑
摘要: 使用 typescript 时,在一些定义中如果你没有明确识指定类型,编译器会自动推断出合适的类型,比如: let str = 'hello' str = 123 // error,不能将类型“123”分配给类型“string” 可以看到,定义变量 str 时并没有指定它的类型,而是直接赋值一个字符 阅读全文
posted @ 2020-05-30 14:12 黑色瓶子 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: typescript中,this 也是一种类型,一个计算器的例子: class Counter{ constructor(public count:number = 0){} add(value:number){ this.count += value return this } subtract( 阅读全文
posted @ 2020-05-28 21:59 黑色瓶子 阅读(4389) 评论(0) 推荐(0) 编辑
摘要: 类型别名 类型别名就是给一种类型起个别的名字,之后只要使用这个类型的地方,都可以用这个名字作为类型代替。它只是起了一个名字,并不是创建了一个新类型。 定义类型别名,使用 type 关键字: type StringType = string let s: StringType s = 'hello' 阅读全文
posted @ 2020-05-22 08:37 黑色瓶子 阅读(1264) 评论(0) 推荐(0) 编辑
摘要: null 和 undefined 是 ts 中的基础类型,分别具有值 null 和 undefined,默认情况下它们是所有类型的子类型,即可以赋值给任意类型,如: let s: string = 'hello' s = null //right s = undefined // right 但当我 阅读全文
posted @ 2020-05-20 22:45 黑色瓶子 阅读(7829) 评论(0) 推荐(0) 编辑
摘要: 当遇到需要告诉编译器某个值是指定类型的场景时,我们可以使用类型断言,比如这个例子: const valueList = [123, "hello"] // getValue 函数随机返回数字类型或者字符串类型 function getValue() { const num = Math.random 阅读全文
posted @ 2020-05-20 09:49 黑色瓶子 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 交叉类型 交叉类型的表示方法为 Type1 & Type2,结果是取这两个类型的并集。这里是官网的例子,做了注释: // 定义函数 extend,用来合并对象 function extend<T, U>(first: T, second: U): T & U { // result 是要返回结果,类 阅读全文
posted @ 2020-05-18 20:47 黑色瓶子 阅读(1931) 评论(0) 推荐(1) 编辑
摘要: 函数兼容性 函数参数个数 比如有如下两个函数: let x = (a: number) => 0 let y = (b: number, c: string) => 0 函数参数个数如果要兼容,需要满足条件:如果对函数 y 进行赋值,则 x 中的每个参数都应在 y 中有对应,也就是 x 的参数个数小 阅读全文
posted @ 2020-05-17 16:34 黑色瓶子 阅读(1498) 评论(0) 推荐(0) 编辑
摘要: 介绍 这里引入官网一段介绍,了解个大概: 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。 在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支 阅读全文
posted @ 2020-05-12 15:18 黑色瓶子 阅读(3884) 评论(0) 推荐(0) 编辑
摘要: 函数类型 为函数定义类型 给函数定义类型,包括对参数和返回值的类型定义: function add(arg1: number, arg2: number): number { return arg1 + arg2 } // 箭头函数 const add = (arg1: number, arg2:n 阅读全文
posted @ 2020-05-09 16:00 黑色瓶子 阅读(10543) 评论(0) 推荐(0) 编辑
摘要: 类实现接口 接口可以规定一个类的定义必须包含某些内容。类实现接口使用关键字 implements。 interface UserInterface{ name:string; age:number; } // 类实现接口 class User implements UserInterface{ na 阅读全文
posted @ 2020-05-04 08:41 黑色瓶子 阅读(528) 评论(0) 推荐(0) 编辑
摘要: typescript 中的类与 es6 中的类在使用上基本一样,举个小例子: class Person{ name:string; constructor(name:string){ this.name = name } sayHi(){ console.log('hi') } } // 定义 Te 阅读全文
posted @ 2020-05-03 09:49 黑色瓶子 阅读(253) 评论(0) 推荐(0) 编辑
摘要: TypeScript的核心原则之一是对值所具有的结构进行类型检查,而接口就是用来定义值的结构,接口自身当作类型来用。 基本使用 先看一段代码: function func(obj: { name: string }): void { console.log('hello ' + obj.name) 阅读全文
posted @ 2020-05-02 10:02 黑色瓶子 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 一、你得有个 ssh 密钥 首先确认你的本地电脑上有 SSH KEY,在 ~/.ssh 目录下: 一般使用过 git 的都会有这个,如果没有,可以使用以下命令创建: ssh-keygen -t rsa -C "youremail@example.com" // 后面填你自己的邮箱 注意下面的操作,不 阅读全文
posted @ 2020-02-08 15:53 黑色瓶子 阅读(1419) 评论(0) 推荐(0) 编辑