随笔分类 -  Go

摘要:并发编程 并发与并行 并发:同一时间段内执行多个任务(交替执行)。 并行:同一时刻执行多个任务(一起执行)。 Go语言的并发通过 goroutine 实现。 goroutine 类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个 goroutine 并发工作。 goroutine 是由Go 阅读全文
posted @ 2020-03-26 16:57 低调的人儿 阅读(366) 评论(0) 推荐(0)
摘要:变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息。 值信息:程序运行过程中可动态变化的。 反射介绍 反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反 阅读全文
posted @ 2020-03-22 12:51 低调的人儿 阅读(168) 评论(0) 推荐(0)
摘要:包介绍 包( package )是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如 fmt 、 os 、 io 等。 定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放 .go 文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如 阅读全文
posted @ 2020-03-10 11:39 低调的人儿 阅读(221) 评论(0) 推荐(0)
摘要:接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。 接口 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型。 interface 是一组 method 的集合,是 duck-type programming (鸭子类型编程) 阅读全文
posted @ 2020-03-09 20:10 低调的人儿 阅读(212) 评论(0) 推荐(0)
摘要:Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 类型别名和自定义类型 类型别名 类型别名是Go1.9版本添加的新功能。 类型别名规定:TypeAlias只是Type的别名,本质上TypeAlias与Type是 阅读全文
posted @ 2020-03-08 20:32 低调的人儿 阅读(230) 评论(0) 推荐(0)
摘要:前言 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。 比如,“越努力越幸运”这句话,我想把它写入程序中,程序一启动这句话是要加载到内存(假设内存地址0x123456),我在程序中把这段话赋值给变量A,把内存地址赋值给变量B。这时候变量 阅读全文
posted @ 2020-03-03 11:51 低调的人儿 阅读(171) 评论(0) 推荐(0)
摘要:函数是组织好的、可重复使用的、用于执行指定任务的代码块。 函数 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数允许多返回值; 函数本身可以作为值进行传递; 函数可以作为变量的值; 函数可以作为参数和返回值; 支持匿名函数(没有名字的函数)一般用于工厂模式; 可以满足 阅读全文
posted @ 2020-03-02 18:02 低调的人儿 阅读(225) 评论(0) 推荐(0)
摘要:Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map定义 Go语言中 map的定义语法如下: map[KeyType]ValueType 其中, KeyType:表示键的 阅读全文
posted @ 2020-03-02 14:57 低调的人儿 阅读(207) 评论(0) 推荐(0)
摘要:引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: 1 func arraySum(x [3]int) int{ 2 sum := 0 3 for _, v := range x{ 4 sum = sum + v 5 } 6 return sum 7 } 这个 阅读全文
posted @ 2020-03-02 00:12 低调的人儿 阅读(239) 评论(0) 推荐(0)
摘要:Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: 1 // 定义一个长度为3元素类型为int的数组a 2 var a [3]int 数组定义 1 var 数组变量名 [元素数量]T 比如:var a [ 阅读全文
posted @ 2020-02-28 11:04 低调的人儿 阅读(234) 评论(0) 推荐(0)
摘要:if条件判断基本写法 Go语言中 if 条件判断的格式如下 1 if 表达式1 { 2 分支1 3 } else if 表达式2 { 4 分支2 5 } else{ 6 分支3 7 } 当表达式1的结果为true时,执行分支1,否则判断表达式2,如果满足则执行分支2,都不满足时,则执行分支3。 if 阅读全文
posted @ 2020-02-27 17:30 低调的人儿 阅读(138) 评论(0) 推荐(0)
摘要:基本数据类型 Go语言中的基本数据类型有:整型、浮点型、布尔型、字符串、数组、切片、map、函数、结构体和通道(channel)等。 整型 类型 描述 uint8 无符号 8位整型 (0 到 255) uint16 无符号 16位整型 (0 到 65535) uint32 无符号 32位整型 (0 阅读全文
posted @ 2020-02-27 16:07 低调的人儿 阅读(305) 评论(0) 推荐(0)
摘要:变量和常量 变量 变量:主要作用是存储信息,类似一个容器。变量的值是存储在计算机内存中。 在go中,变量有三个属性:变量类型、变量名和变量值。 声明变量 var 变量名 变量类型 例子: 1 var name string 2 var age int 3 var isOk bool 4 5 var 阅读全文
posted @ 2020-02-24 12:46 低调的人儿 阅读(254) 评论(0) 推荐(0)
摘要:VS Code是微软开源的一款编辑器,插件系统十分的丰富。 下载与安装 VS Code官方下载地址:https://code.visualstudio.com/Download 三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。 双击下载好的安装文件,双击安装即可。 安装中文简体插件 点击左 阅读全文
posted @ 2020-02-23 22:58 低调的人儿 阅读(1577) 评论(0) 推荐(0)
摘要:什么是Go? Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。 基本数据类型主要有:整型、浮点型、布尔型、字符串、数组、切片、结构体、函数、map、通道(channel)等。 搭建环境 下载 Go官网下载地址:https://golang.o 阅读全文
posted @ 2020-02-23 22:05 低调的人儿 阅读(600) 评论(0) 推荐(0)