一、gin简介 Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架,由于 httpro...
一、模板和模板引擎 在基于MVC的web架构中,我们常常将不变的部分提出成为模板,可变部分通过后端程序提供数据,借助模板引擎渲染来生成动态网页。 模板可以理解为事先定义好的H...
一、go中HTTP服务处理流程 超文本传输协议(HTTP,Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件...
一、UDP协议 UDP协议(User Datagram Protocol)中文名称是用户数据报协议,是OSI(Open System Interconnection,开放式系...
一、go语言实现TCP通信 TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面...
一、TCP/IP协议 计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确...
time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 一、时间类型 go语言源码: 通过time包的time.Now()函数获取当前时间的时间对象,进而可以调用...
一、File文件操作 file类是在os包中的,封装了底层的文件描述符和相关信息,同时封装了Read和Write的实现。 1、FileInfo接口 FileInfo接口中定义...
一、认识反射 维基百科中的定义:在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的...
通道channel被认为是goroutine通信的管道。类似于水管里的水可以从一端流向另一端,数据可以从一端发送到另一端,通过通道接收。 当多个goroutine间想实现共享...
一、两个问题 1、同步执行问题 主线程为了等待所有的子goroutine都运行完毕,不得不在程序中使用time.Sleep() 来睡眠一段时间,等待其他线程充分运行。这种方式...
一、什么是goroutine Goroutine是Go语言特有的名词。区别于进程Process,线程Thread,协程Coroutine,因为Go语言的创造者们觉得和他们是有...
一、并发性Concurrency 1、多任务 多任务是操作系统可以同时执行多个任务。如,可以一边听音乐,一边刷微博,一边聊QQ,还能同时开微信。这就是多任务同时运行。 2、线...
一、错误和异常的区别 错误指的是可能出现问题的地方出现了问题。比如打开一个文件时失败,这种情况在人们的意料之中 。 异常指的是不应该出现问题的地方出现了问题。比如引用了空指针...
type是go语法里的重要而且常用的关键字,type绝不只是对应于C/C++中的typedef。搞清楚type的使用,就容易理解go语言中的核心概念struct、interf...
go并不是一个纯面向对象的编程语言。在go中的面向对象,结构体替换了类。go并没有提供类class,但是它提供了结构体struct,方法method可以在结构体上添加。提供了...
面向对象世界中的接口的一般定义是“接口定义对象的行为”。它表示让指定对象应该做什么。实现这种行为的方法(实现细节)是针对对象的。 在Go中,接口是一组方法签名。当类型为接口中...