摘要: map是一种无序的基于 key-value 的数据结构,Go语言中的map是引用类型,所以跟切片一样需要初始化才能使用。 定义map 定义 map 的语法如下: map[keyType]ValueType // keyType 键的类型 // ValueType 键对应的值的类型 定义 map 而不 阅读全文
posted @ 2019-10-28 10:10 黑色瓶子 阅读(218) 评论(0) 推荐(0) 编辑
摘要: go中数组的长度是固定的,且不同长度的数组是不同类型,这样的限制带来不少局限性。于是切片就来了,切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。 定义切片 切片的定义跟数组很类似,区别就是不需要指定长度,如下: 举例: 需要注意的是, 阅读全文
posted @ 2019-10-26 14:09 黑色瓶子 阅读(440) 评论(0) 推荐(0) 编辑
摘要: typescript很强大,但是用不好时也会很头痛,开发遇到类型错误的情况不在少数,或许你需要了解类型断言。使用断言,简单来说就是先做好一个假设,使得编译通过。 我一开始接触类型断言时是有点不明白的,后来我了解到原因是 “类型断言更像是类型的选择,而不是类型转换”。我发现不少博客文章里把类型断言说成 阅读全文
posted @ 2019-10-18 11:15 黑色瓶子 阅读(10008) 评论(1) 推荐(3) 编辑
摘要: 数字枚举 数字枚举,即枚举里所有属性的值都是数字类型,先看这段代码: 之前也提到过,当枚举里的属性没指定具体值时,默认值是从 0 开始依次排列,你也可以自己指定具体值,剩下的也是依次递增: 另外,数字枚举在定义值的时候,可以是 常量 或者是 计算出来的。当满足以下条件时,枚举成员可以看作常量: 1. 阅读全文
posted @ 2019-10-16 17:05 黑色瓶子 阅读(12721) 评论(0) 推荐(0) 编辑
摘要: 我刚接触go语言的数组时,有点不习惯,因为相对于JavaScript这样的动态语言里的数组,go语言的数组写起来有点不爽。 定义数组 go语言定义数组的格式如下: 初始化数组时,要定义好数组的长度和数组值的类型。注意定义数组时,数组的长度数字应该是常量,如果使用变量来定义长度则会报错: 同时,不同的 阅读全文
posted @ 2019-10-15 09:45 黑色瓶子 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Print 和 Println 这两个打印方式类似,只在格式上有区别 1. Println 打印的每一项之间都会有空行,Print 没有,例如: 2. Println 会自动换行,Print 不会,例如: Println 和 Printf Printf 是格式化输出,在很多场景下比 Println 阅读全文
posted @ 2019-10-12 10:38 黑色瓶子 阅读(7717) 评论(2) 推荐(0) 编辑
摘要: javascript中有7种数据类型,分别是:boolean,number,string,null,undefined和object,以及在es6中新增的一种类型 symbol。而typescript又在此基础上增加了一些类型,接下来一个个来看。 元组 元组类型允许表示一个已知元素数量和类型的数组, 阅读全文
posted @ 2019-09-28 14:32 黑色瓶子 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 开发typescript项目有一些现成的脚手架,比如:typescript-library-starter,它的配置齐全,更适合用在实际项目开发上。其实在学习阶段可以自己搭建一个简单的typescript运行环境,只用作学习typescript语法。 提示:以下案例使用 webpack4 版本 初始 阅读全文
posted @ 2019-09-25 11:59 黑色瓶子 阅读(2288) 评论(0) 推荐(0) 编辑
摘要: break(跳出循环) break用于跳出整个循环,如下: 代码里只会打印到3,当大于3时会跳出整个for循环,注意整个for循环指的是直接包含break的那层for循环,举个例子: 查看上述代码的结果,就会发现内层循环只能打印到4,而外层循环可以到9(即走完了整个for循环)。 除此之外,我们还可 阅读全文
posted @ 2019-09-10 11:59 黑色瓶子 阅读(785) 评论(0) 推荐(1) 编辑
摘要: go语言的流程控制主要有if , for和switch。 if else(分支结构) go语言的if判断: 需要注意的两点: 1. 表达式不可以使用 () 2. 起始花括号必须紧跟表达式后面,不可以另起一行 除此之外,if 判断写法还有另一种写法: 这种写法是把变量的定义写在表达式里了,这样写的作用 阅读全文
posted @ 2019-09-09 09:07 黑色瓶子 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 本篇内容本来准备在上一篇写的,想了想还是拆开写。 go语言中字符串需要使用用双引号,而单引号用来表示单个的字符,字符也是组成字符串的元素。go语言的字符有两种: ASCII编码是1个字节,而UTF-8是可变长的编码,当要表示中文等非ASCll编码的字符时,需要使用UTF-8编码来保证不会乱码。 举个 阅读全文
posted @ 2019-09-08 13:32 黑色瓶子 阅读(2713) 评论(0) 推荐(0) 编辑
摘要: Go语言基本数据类型主要包含:bool,number,string 布尔类型 go中的布尔类型,只能是 true 和 false,例如:var b bool = true 数字类型 整型 特殊整型 浮点型 Go语言支持两种浮点型数:float32 和 float64。这两种浮点型数据格式遵循 IEE 阅读全文
posted @ 2019-09-05 09:24 黑色瓶子 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 我想吐槽下网上的很多所谓的“零基础教程”,因为那根本不算零基础。就拿语言教程来说,一上来就说怎么定义变量的怎么算零基础呢?零基础应该是先告诉你啥叫变量。 所以我从不起零基础的标题。我这也不是教程,只是我的一个记录。当然我会做笔记很仔细。 变量 go语言的变量定义跟JavaScript很像,也是用 v 阅读全文
posted @ 2019-08-30 22:34 黑色瓶子 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 任何一门语言,都是从打印 hello world 开始的。 最简单的go代码: 以上面代码为例,当你要写一个go代码时,你一开始要注意的就是这两个: 1. 每一个.go 文件的非注释的第一行,必须声明main包 2. 所有的逻辑操作代码都必须放在main函数里执行,不可以在main函数之外执行 上面 阅读全文
posted @ 2019-08-28 13:15 黑色瓶子 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 下载Go语言可以去:Go语言中文网 安装及自己选择是否修改GOPATH 下载下来后双击安装就好,使用 go version 查看安装版本: 在Mac上安装完成后,会自动设置一些环境变量,使用 go env 查看环境变量: 注意红框的内容: GOPATH: 你编写代码存放的目录 GOROOT: go安 阅读全文
posted @ 2019-08-28 09:36 黑色瓶子 阅读(23609) 评论(0) 推荐(2) 编辑