不灭的焱

革命尚未成功,同志仍须努力 下载Java21

作者:AlbertWen  添加时间:2017-10-29 09:44:39  修改时间:2026-06-27 06:35:21  分类:21.Go语言编程  编辑

一、基本类型

清晰完备的预定义基础类型,使得开发跨平台应用时无须过多考虑符合和长度差异。

类型 长度 默认值 说明
bool 1 false  
byte 1 0 uint8
int, uint 4, 8 0 默认整数类型,依据目标平台,32 或 64 位
int8, uint8 1 0 -128 ~ 127,0 ~ 125
int16, uint16 2 0 -32,768 ~ 32,767,0 ~ 65,535
int32, uint32 4 0 -21亿 ~ 21亿,0 ~ 42亿
int64, uint64 8 0  
float32 4 0.0  
float64 8 0.0 默认浮点数类型
作者:AlbertWen  添加时间:2017-10-29 10:06:15  修改时间:2026-07-05 02:58:03  分类:21.Go语言编程  编辑

命令 go install 用于编译并安装指定的代码包及它们的依赖包。当指定的代码包的依赖包还没有被编译和安装时,该命令会先去处理依赖包。与 go build 命令一样,传给 go install 命令的代码包参数应该以导入路径的形式提供。并且,go build 命令的绝大多数标记也都可以用于 go install 命令。实际上,go install 命令只比 go build 命令多做了一件事,即:安装编译后的结果文件到指定目录。

作者:AlbertWen  添加时间:2017-10-27 12:54:37  修改时间:2026-06-26 03:27:40  分类:21.Go语言编程  编辑

goroutine

goroutine是Go并行设计的核心。goroutine说到底其实就是线程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万个并发任务。goroutine比thread更易用、更高效、更轻便。

goroutine是通过Go的runtime管理的一个线程管理器。goroutine通过go关键字实现了,其实就是一个普通的函数。

go hello(a, b, c)
作者:AlbertWen  添加时间:2017-10-29 20:29:19  修改时间:2026-06-30 01:43:00  分类:21.Go语言编程  编辑

sync.Once.Do(f func()) 是一个非常有意思的东西,能保证 once 只执行一次,无论你是否更换 once.Do(xx) 这里的方法,这个 sync.Once块 只会执行一次。

作者:AlbertWen  添加时间:2017-10-29 09:46:48  修改时间:2026-07-07 16:06:33  分类:21.Go语言编程  编辑
作者:AlbertWen  添加时间:2017-10-29 20:29:54  修改时间:2026-06-30 14:24:14  分类:21.Go语言编程  编辑

Go 还有一些特有的流程控制语句,其中一个就是 defer 语句。该语句用于延迟调用指定的函数,它只能出现在函数的内部,由 defer 关键字以及针对某个函数的调用表达式组成。这里被调用的函数称为 延迟函数。一个简单的例子如下:

func outerFunc()  {
	defer fmt.Println("函数执行结束前一刻才会被打印")
	fmt.Println("第一个被打印")
}
作者:AlbertWen  添加时间:2017-10-27 13:06:47  修改时间:2026-07-03 00:37:18  分类:21.Go语言编程  编辑

一、数组

与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列。

(1)数组的创建

数组有 3 种创建方式:

1) [length]Type

2) [length]Type{value1, value2, ... , valueN}

作者:AlbertWen  添加时间:2017-10-29 20:41:24  修改时间:2026-07-06 12:35:58  分类:21.Go语言编程  编辑

项目地址:https://github.com/fsnotify/fsnotify

fsnotify 能监控指定文件夹内 文件的修改情况,如 文件的 增加、删除、修改、重命名等操作。

作者:AlbertWen  添加时间:2017-10-29 10:14:29  修改时间:2026-07-04 05:11:50  分类:21.Go语言编程  编辑

go test 命令用于对 Go 语言编写的程序进行测试。这种测试是以 代码包 为单位的。当然,这还需要测试源码文件的帮助。关于怎样编写并写好 Go 程序测试代码,我们会在本章的第二节加以详述。在这里,我们只讨论怎样使用命令启动测试。

go test 命令会自动测试每一个指定的 代码包。当然,前提是指定的代码包中存在测试源码文件。测试源码文件是名称以“_test.go”为后缀的、内含若干测试函数的源码文件。测试函数一般是以“Test”为名称前缀并有一个类型为“testing.T”的参数声明的函数.

作者:AlbertWen  添加时间:2018-07-18 09:52:18  修改时间:2026-07-06 02:05:42  分类:21.Go语言编程  编辑

Tao同时也是我用Go语言开发的一个异步的TCP服务器框架(TCP Asynchronous Go server FramewOrk),秉承Go语言“Less is more”的极简主义哲学,它能穿透一切表象,带你一窥网络编程的世界,让你从此彻底摆脱只会写“socket-bind-listen-accept”的窘境。本文将简单讨论一下这个框架的设计思路以及自己的一些思考。