Golang已经是一个很丰富的语言了,包含很多的工具和库。因为作者经常做Http开发工作,所以先来探索gin库。 熟悉使用 第一步:安装 $ go get github.com/gin-gonic/gin 第二步:引用 …
分类:go语言
Go接口实例
Go支持在struct类型上定义的方法。area方法有一个* rect类型的接收器。可以为指针或值接收器类型定义方法。这里是一个值接收器的例子。 这里调用struct定义的2个方法。 接口是方法签名的命名集合。这里是几何…
Go 调试
Go的pprof使用 web服务器 import _"net/http/pprof" go func() { log.Println(http.ListenAndServe("localhost:6666", nil))…
golang实现协程池
golang中启动一个协程不会消耗太多资源,有人认为可以不用协程池。但是当访问量增大时,可能造成内存消耗完,程序崩溃。于是写了一个协程池的Demo。 Demo中有worker和job。worker是一个协程,在worke…
Go语言中的Array、Slice、Map、Set和Struct解析
Go语言的数据类型和其他语言诸如Java,Python有相似之处,也有自己独特的地方。这篇文章主要讨论了几种数据结构类型(Composite Types)的初始化以及基本使用方法。 Array Go中Array是固定长度…
Go入门29:错误处理之 defer
Go语言中引入关键字defer来延迟执行defer后面的函数。 一直等到包含defer语句的函数执行完毕时,延迟函数(defer后的函数)才会被执行,而不管包含defer语句的函数是通过return的正常结束,还是由于p…
Go语言之bool类型(布尔类型)七
布尔型数据在 Go 语言中以 bool 类型进行声明,布尔型数据只有 true(真)和 false(假)两个值。 Go 语言中不允许将整型强制转换为布尔型,代码如下: var n bool fmt.Println(int…
Golang flag package
Golang flag flag 是 go 标准库提供的解析命令行参数的包。 flag use style flag.Type(name, defvalue, usage) 其中 Type: [String, Int, …
Golang interface 全面介绍
[TOC] Golang interface 全面介绍 interface 介绍 如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数…
go语言的类型断言(Type Assertion)
x.(T) 检查x的动态类型是否是T,其中x必须是接口值。 如果T是具体类型 类型断言检查x的动态类型是否等于具体类型T。如果检查成功,类型断言返回的结果是x的动态值,其类型是T。换句话说,对接口值x断言其动态类型是具体…
Go语言 异常panic和恢复recover用法
背景:Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的…
Golang学习笔记-1.15 字符串
本文系第十五篇Golang语言学习教程 什么是字符串 Go 语言中的字符串是一个字节切片. 把内容放在双引号之间, 就可以创建一个字符串. package main import "fmt" func main() { …