Golang 特殊类型

2019-06-25
阅读 2 分钟
4k
Go语言的类型很多,简单的类型(int,string,float等)这里不再赘述。 下面讲一些开发中可能用到特殊类型 struct 类型 {代码...} 声明一个具体的user结构体类型 声明函数类型 示例1 {代码...} 示例2 {代码...} 示例3 {代码...} 通用类型 interface {代码...} interface 类型作为参数可以接受任何类型的参数,其中struct...

Go 字符串处理

2019-06-11
阅读 8 分钟
13.2k
直接使用“+”: 示例: {代码...} 因为字符串类型在Go中是不可改变的,因此每次操作实际都要新分配字符串,所以在字符串比较多的时候效率不高。 使用strings.Join()函数 示例: {代码...} 这种方式需要花费构建slice的时间。 使用bytes.Buffer: 示例: {代码...} 这种在字符串比较多的时候效率最高。 字符串截取 不含中...

Go之context包的分析

2019-05-22
阅读 11 分钟
4k
Go中的context包在与API和慢进程交互时可以派上用场,特别是在提供Web请求的生产级系统中。在哪里,您可能想要通知所有goroutines停止工作并返回。

Go 并发控制

2019-05-19
阅读 6 分钟
12k
在日常应用场景就会涉及一个goroutine启动或结束,启动一个goroutine很简单只需要在函数前面加关键词go即可,而由于每个goroutine都是独立运行的,其退出有自身决定的,除非main主程序结束或程序崩溃的情况发生。

Go channel 实现原理分析

2019-05-14
阅读 7 分钟
11.7k
channel一个类型管道,通过它可以在goroutine之间发送和接收消息。它是Golang在语言层面提供的goroutine间的通信方式。

golang new和make的区别

2019-04-24
阅读 4 分钟
14.9k
Go语言中new和make都是用来内存分配的原语(allocation primitives)。简单的说,new只分配内存,make用于slice,map,和channel的初始化。

GO中间件(Middleware )

2019-04-10
阅读 6 分钟
12k
中间件是一种计算机软件,可为操作系统提供的软件应用程序提供服务,以便于各个软件之间的沟通,特别是系统软件和应用软件。广泛用于web应用和面向服务的体系结构等。 纵观GO语言,中间件应用比较普遍,主要应用: 记录对服务器发送的请求(request) 处理服务器响应(response ) 请求和处理之间做一个权限认证工作 远...

GO 匿名函数和闭包

2019-03-28
阅读 4 分钟
29.3k
匿名函数:顾名思义就是没有名字的函数。很多语言都有如:java,js,php等,其中js最钟情。匿名函数最大的用途是来模拟块级作用域,避免数据污染的。

GO 单例模式

2019-03-19
阅读 2 分钟
6.7k
单例模式是常用的模式之一,一般介绍的单例模式有 饿汉式 和 懒汉式 等,不管那种模式最终目的只有一个,就是只实例化一次,仅允许一个实例存在。

Go 单元测试和性能测试

2019-03-12
阅读 5 分钟
6k
go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试,testing框架和其他语言中的测试框架类似,你可以基于这个框架写针对相应函数的测试用例,也可以基于该框架写相应的压力测试用例,那么接下来让我们一一来看一下怎么写。

Golang 正则表达式(regexp)

2019-02-22
阅读 6 分钟
57.4k
Go内置了(regexp包)对正则表达式的支持,这里是一般的正则表达式常规用法的例子。 示例: {代码...} 小结: 1、 {代码...} 可用一下代替 {代码...} 两者区别 MustCompile 少一个返回值err 看源码 {代码...} 2、regexp的处理byte的方法都有个string方法对应,两者功能一样。 例如: {代码...} links 目录

GO GC 垃圾回收机制

2019-02-15
阅读 4 分钟
36.4k
在传统的系统级编程语言(主要指C/C++)中,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。由于内存是有限的,所以当程序不再需要使用某个变量的时候,就需要销毁该对象并释放其所占用的内存资源,好重新利用这段空间。在C/C++中,释放无用变量内存空间的事情需要由程序员自己来处理。就是说当程序员...

Go goroutine理解

2019-02-14
阅读 5 分钟
61.8k
Go语言最大的特色就是从语言层面支持并发(Goroutine),Goroutine是Go中最基本的执行单元。事实上每一个Go程序至少有一个Goroutine:主Goroutine。当程序启动时,它会自动创建。

Golang 读、写文件

2019-01-16
阅读 6 分钟
81.5k
文件的读写是编程语言的常见操作之一,这里讲一些Goang 读取文件的相关操作。 读取文件 读取文件有三种方式: 将文件整个读入内存 按字节数读取 按行读取 具体实现如下: 1、将文件整个读入内存 {代码...} 或者 {代码...} 将文件整个读入内存,效率比较高,占用内存也最高。 2、按字节读取文件 {代码...} 或 {代码...} 3...

Go 堆栈的理解

2018-12-24
阅读 9 分钟
24.1k
堆:堆可以被看成是一棵树,如:堆排序。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。

go 指针和内存分配详解

2018-12-21
阅读 8 分钟
39.2k
每当我们编写任何程序时,我们都需要在内存中存储一些数据/信息。数据存储在特定地址的存储器中。内存地址看起来像0xAFFFF(这是内存地址的十六进制表示)。

golang开发笔记

2018-11-27
阅读 2 分钟
3.7k
1.0 Go环境配置 1.1 Go安装 1.2 目录结构 1.3 Go命令 1.4 开发工具 1.5 依赖管理(dep) 1.6 Go 各版本特性 1.7 调试工具Delve 1.8 Go 性能测试工具PProf 1.9 Go 单元测试和性能测试 1.10Go 依赖管理 Go Modules(官方推荐) 2 语言基础 2.1 hello word! 2.2 数组 2.3 切片 2.4 map 2.5 struct 2.6 常量和变量 2.7 流程...

centos7 下使用Supervisor监控 gin服务

2018-10-13
阅读 1 分钟
5k
前言在实际项目运行的时候,要考虑万一服务出现异常挂了怎么办,这个时候需要一个监控系统。其中,Supervisor 是个不错选择。Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。安装 Supervisor