网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
有点不安全却又一亮的 Go unsafe.Pointer
在上一篇文章[《深入理解GoSlice》](https://github.com/EDDYCJY/blog/blob/master/golang/pkg/2018-12-11-%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Go-Slice.md)中,大家会发现其底层数据结构使用了`unsafe...
阅读全文
2018.11月Go优质开源项目
>首发于个人博客**stars:2364****forks:58**项目描述:Buildcross-platformmoderndesktopappsinGo+HTML5**stars:582****forks:15**项目描述:PprofmadeeasyatdevelopmenttimeforGo**stars:37...
阅读全文
go判断utf-8文件是否带BOM
image.png后面知道这行的作用可以用来判断是否为一个utf-8BOM文件,如果是一个utf8bom格式文件,读取首内容是239187191,可以使用notepad++和下面代码进行测试__packagemainimport("bufio""bytes""fmt""io/ioutil")funcmain(){dat...
阅读全文
在 Go 中恰到好处的内存对齐
image原文地址:[在Go中恰到好处的内存对齐](https://github.com/EDDYCJY/blog/blob/master/golang/2018-12-26-%E5%9C%A8Go%E4%B8%AD%E6%81%B0%E5%88%B0%E5%A5%BD%E5%A4%84%E7%9A%84%E5%86%...
阅读全文
深入理解 Go Slice
image原文地址:[深入理解GoSlice](https://github.com/EDDYCJY/blog/blob/master/golang/pkg/2018-12-11-%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Go-Slice.md)是什么在Go中,Slice(切片)是抽象在A...
阅读全文
Go 学习之路:引用类型与值类型
Golang中只有三种引用类型:slice(切片)、map(字典)、channel(管道);引用类型***引用类型理解为(C语言):指针**值类型*值的拷贝下面以值类型和slice(切片)例子可知:__packagemainimport"fmt"funcmain(){a:=[5]int{2,3,4,5,6}b:=afm...
阅读全文
在 go 中实现 websocket 服务
目标:了解websocket,能够使用golang来实现websocket服务要求:了解go基本语法**webSocket的定义**WebSocket是基于TCP的一个双向传输数据的协议,和HTTP协议一样,是在应用层的.他的出现,是为了解决网页进行持久双向传输数据的问题。**WebSocket与HTTP的关系与TCP...
阅读全文
go channel详解之源码分析
作为golang并发编程思想的重要组成,channel(通道)非常重要,和goroutine(go协程)一起使用,用来实现go的CSP(CommunicatingSequentialProcesses)并发模型。>Donotcommunicatebysharingmemory;instead,sharememoryby...
阅读全文
go slice的坑
slice的底层是数组,其内部包含三个属性:分别是:ptr,len,cap*ptr是指向底层数组的指针*cap是底层数组的长度*len是slice的长度__typeslicestruct{arrayunsafe.Pointerlenintcapint}当slice长度不足以放下新元素时,会将当前的数据复制到一个更大的数...
阅读全文
Go语言 斐波那契数列的解法
1\.最常见的递归__funcfib(Nint)int{ifN<2{returnN}returnfib(N-1)+fib(N-2)}这么写效率很低,没有剪枝,存在大量的重复计算。2.带缓存的递归__//solution1funcfib(Nint)int{ifN<2{returnN}fibCache:=make(map[...
阅读全文
【Golang 基础】Go 语言的 Map
Go语言中的Map`Map`是一个无序的键值对数据集合,通过`key`快速检索数据。*通过`map[keyType]valueType`格式声明`Map`;__packagebasicimport"fmt"funcDeclaratMap(){//声明一个空的mapm1:=map[int]string{}fmt.Prin...
阅读全文
Go语言 sort包使用与源码剖析
有句话很有趣:Stayhungry,stayfoolish.个人根据对这句话的理解以一个有强烈求知欲的小白的角度,用提问解答的方式组织全文。以此发现自己知识的不足并学习新的知识。>问题目录>>1.包方面>>*sort包里包括哪些文件>*sort.go如何使用,有什么需要注意的地方>*example_*_test.go格...
阅读全文
go微服务系列之四
这是go微服务系列的第四篇,主要记录的是一些工具的使用和脚本的操作,笑纳~一、采用gvt管理依赖同java的maven方案一样,go也具备有管理依赖的方案,如godep、gv、gvt、govendor等,在这里我使用的是gvt,在这里说说我是如何使用gvt实现依赖管理的。由于我自己平常都是使用ubuntu做开发和日常...
阅读全文
在 Ubuntu 开启 GO 程序编译之旅
本文将使用putty连接到一台阿里云Ubuntu16.04服务器,在其上安装go语言的编译环境。1\.安装方式一使用apt-get__apt-getinstallgolang-go执行完成之后,会把golang安装在这个位置:`/usr/lib/go-1.6/`,go命令会在该目录的bin子目录下,同时,/usr/bi...
阅读全文
Go学习笔记二(判断语句)
循环**Go语⾔仅支持循环关键字for**__fori:=0;i0{fmt.Println(n)}switch条件case后面不限制为常量或者整数,如下面代码可以为字符串__switchos:=runtime.GOOS;os{case"darwin":fmt.Println("OSX.”)case"linux":fmt...
阅读全文