随笔分类 - Golang
摘要:Golang 设计模式 一、设计模式概述 1.1 概述 如果把修习软件开发当做武功修炼的话,那么可以分为招式和内功。 招式: Java、C#、C++、Golang、Rust等编程语言; Eclipse、Visual Studio、Goland、Vim等开发工具; Struts、Hibernate、J
阅读全文
摘要:1 golang常见数据结构实现 1.1 链表 举单链表的例子,双向链表同理只是多了pre指针。 定义单链表结构: type LinkNode struct { Data int64 NextNode *LinkNode} 构造链表及打印链表: func main() { node := new(
阅读全文
摘要:简介 每个版本的Golang的垃圾回收都在不断优化中,而且方法和策略都在变化,因此这里只是总结出以下几个关键点: 什么样的数据需要GC 触发GC的条件是什么 GC时发生了什么 能否从代码层面上提高GC的效率 GC的基本流程 Golang在确定的时间,或者内存分配到达一定程度时,进行GC。GC时,会停
阅读全文
摘要:什么是协程? Go协程(Goroutine)是与其他函数或方法同时运行的函数或方法。可以认为Go协程是轻量级的线程。与创建线程相比,创建Go协程的成本很小。因此在Go中同时运行上千个协程是很常见的。 Go协程对比线程的优点 与线程相比,Go协程的开销非常小。Go协程的堆栈大小只有几kb,它可以根据应
阅读全文
摘要:golang 实现 RPC 前提概要,先了解几个概念,websocket简介 什么是websocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocke
阅读全文
摘要:Go 中的时间操作 Golang中与时间有关的操作,主要涉及到 time 包,核心数据结构是 time.Time,如下: type Time struct { wall uint64 ext int64 loc *Location} 1、获取时间相关函数 1.1 获取当前时间 // 返回当前时间,注
阅读全文
摘要:Gin框架学习 gin文档 github:https://github.com/gin-gonic/gin 官网文档:https://gin-gonic.com/zh-cn/docs/quickstart/ 中文文档:https://learnku.com/docs/gin-gonic/1.7 Gi
阅读全文
摘要:本地目录 C:\Users\Moebius\go\webApp /home/goproject/beego_blog-master https://github.com/Echosong/beego_blog golang单元测试:https://blog.csdn.net/gubeichengxu
阅读全文
摘要:反射 变量内置 Pair 结构 var a string a = "aceld" var allType interface{} allType = a str, _ := allType.(string) 类型断言其实就是根据 pair 中的 type 获取到 value tty, err :=
阅读全文
摘要:Golang 的优势 极简单的部署方式:可直接编译成机器码、不依赖其他库、直接运行即可部署。 静态类型语言,编译的时候可以检查出大多数问题。 语言层面的并发:天生的基因支持、充分的利用多核 func goFunc(i int) { fmt.Println("goroutine ", i, " ...
阅读全文
摘要:Go 语言介绍 Go 语言特性 Go 语言发展(版本 / 特性) Go 语言应用 谁在用 Google Facebook 腾讯 百度 京东 小米 360 应用领域 Go 语言项目 Go 语架构 Go 语言发展前景 Go 语言介绍 Go 即 Golang,是 Google 公司 2009 年 11 月
阅读全文
摘要:并发 Go 是并发式语言,而不是并行式语言。在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别。 并发是什么? 并发是指立即处理多个任务的能力。一个CPU的情况下<意指看上去像是同时运行,其中有io的阻塞态等待的时间慢而已。 例子1: 我们可以想象一个人正在跑步。假如在他晨跑
阅读全文
摘要:方法 什么是方法? 方法其实就是一个函数,在 func 这个关键字和方法名中间加入了一个特殊的接收器类型。接收器可以是结构体类型或者是非结构体类型。接收器是可以在方法的内部访问的。 package main import "fmt" type Person struct { name string
阅读全文
摘要:Maps 什么是 map ? 类似Python中的字典数据类型,以k:v键值对的形式。 map 是在 Go 中将值(value)与键(key)关联的内置类型。通过相应的键可以获取到值。 如何创建 map ? 通过向 make 函数传入键和值的类型,可以创建 map。make(map[type of
阅读全文
摘要:第一个程序 //单行注释 /* 多行注释 */ package main // 表示当前go文件属于main包 import "fmt" // 导入包 //编译型语言需要有一个入口文件,main包下的main函数 func main(){ //定义了一个main函数包 fmt.Println("He
阅读全文
摘要:下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示。 这里我们下载的是 64 位的开发包,如果读者的电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面中向下滚动即可找到 3
阅读全文
摘要:02-开发环境搭建 目录 一 下载地址 二 安装 Linux安装 Windows安装 Mac安装 三 测试安装 四 命令介绍 基本介绍 build 和 run 命令 get 命令 一 下载地址 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https:
阅读全文
摘要:01-Go语言介绍 目录 Go语言介绍 Go语言特性 Go语言发展(版本/特性) Go语言应用 谁在用 应用领域 Go语言项目 Go语架构 Go语言发展前景 Go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言,是区别于解析型语言的
阅读全文