go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程...
Go语言互斥锁
Go语言互斥锁 Go语言的sync包中实现了两种锁 Mutex (互斥锁)和 RWMutex (读写锁),其中 RWMutex 是基于 Mutex 实现的,只读锁的实现使用类似引用计数器的功能。 互斥...
Go语言递归函数
Go语言递归函数 递归,就是在运行的过程中调用自己。 一个函数调用自己,就叫做递归函数。 构成递归需具备的条件: 1、子问题须与原始问题为同样的事,且更为简单。 2、不能无限制地调用本身,须有个出口,...

Go语言的那些坑
1. 背景 Golang是我最喜欢的一门语言,它简洁、高效、易学习、开发效率高、还可以编译成机器码。虽然它一出世,就饱受关注,而且现在在市面上逐渐流行开来,但是,它毕竟是一门新兴语言,还有很多让人不...
Go语言反射之值反射
反射第二篇,值反射。类型反射请参考,Go语言反射之类型反射。 1 概述 反射不仅可以获取值的类型信息,还可操作变量的值。使用 reflect.Value 类型操作变量的值。 2 值反射对象 refle...
Go语言中处理 HTTP 服务器
1 概述 包 net/http 提供了HTTP服务器端和客户端的实现。本文说明关于服务器端的部分。 快速开始: package main import ( "log" "net/http" )...
Go语言defer关键字
Go语言defer关键字 defer关键字用于延缓函数的执行 只需要在调用普通函数或方法前加上关键字defer,就完成了defer所需要的语法。当defer语句被执行时,跟在defer后面的函数就会被...
Go语言中接口的使用
1 概述 接口,interface,是用于规范对象应该具备哪些方法的技术。OOP中与结构体配合使用,对象使用结构体规范应该具有的书写,而对外通过接口暴露方法。Go 语言的接口设计是非侵入式的,接口实现...

Go语言中的变量
1 概述 变量(Variable)是程序运行过程中,内容可以变化(修改)的量,变量的功能是存储用户的数据,是计算机语言中能储存计算结果或能表示值抽象概念。 变量,是通过变量的标识符定位值的过程。变量的...
Go语言包管理简史
包管理是Go一直被诟病做得不好的功能之一。先前版本(go 1.11之前)的主要缺点之一是go get是缺乏对依赖包版本的管理和对可复制构建(reproducible build)的支持。Go社区已经开...
115