golang
文章平均质量分 66
俊采LEo
share
展开
-
go语言坑之list删除所有元素
go提供了一个list包,类似python的list,可以存储任意类型的数据,并提供了相应的API,如下:type Element func (e *Element) Next() *Element func (e *Element) Prev() *Elementtype List func New() *List func (l *List) Back() *E原创 2017-03-30 23:09:35 · 4558 阅读 · 6 评论 -
go技巧分享(三)
这是一个系列文章,主要分享go的使用建议和技巧,每次分享3点,希望你能有所收获。1 打印更易读的结构体package mainimport "fmt"type User struct { Name string Age int Addr string}func main() { u := User{"user1", 12, "addr"}...原创 2018-05-21 21:42:29 · 209 阅读 · 0 评论 -
go语言静态库的编译和使用
本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下:>echo %GOPATH%E:\share\git\go_practice\>echo %GOROOT%C:\Go\>tree /F %GOPATH%\src卷 work 的文件夹 PATH 列表卷序列号为 0009-D8C8E:\SHARE\GIT...原创 2018-04-29 11:00:09 · 7006 阅读 · 1 评论 -
广度优先搜索算法(go)
广度优先搜索算法(Breadth First Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,广度优先搜索算法是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。借助广度优先搜索算法,可以让你找出两样东西之间的最短距离。本文通过go语言实现广度优先搜索算法,使用该算法从朋友圈中找出关系最近的售货员朋友。下面介绍详细的实...原创 2018-05-17 23:19:43 · 3566 阅读 · 0 评论 -
go技巧分享(二)
这是一个系列文章,主要分享go的使用建议和技巧,每次分享3点,希望你能有所收获。1 并发访问mappackage mainimport "sync"type Map struct { sync.RWMutex Data map[int]int}func main() { m := Map{} m.Data = make(map[int]in...原创 2018-05-11 14:43:21 · 158 阅读 · 0 评论 -
go技巧分享(一)
原创 2018-05-10 12:43:00 · 185 阅读 · 0 评论 -
go语言动态库的编译和使用
本文主要介绍go语言动态库的编译和使用方法,以linux平台为例,windows平台步骤一样,具体环境如下:$ echo $GOPATH/media/sf_share/git/go_practice$ echo $GOROOT/usr/lib/golang/$ tree $GOPATH/src/media/sf_share/git/go_practice/src|-- demo|...原创 2018-05-02 21:06:14 · 5501 阅读 · 0 评论 -
冒泡排序
冒泡排序,顾名思义就是像冒泡一样进行排序,那么是怎么个冒泡法呢?举个例子说明一下,比如有一个数组:[3 2 1 0],需要将该数组进行升序排序,即排序成:[0 1 2 3]。冒泡排序是这样进行排序的,首先将第一个元素和第二个元素进行比较,如果第一个元素比第二个元素大,那么将这两个元素交换位置,比如这里的第一个元素是3,第二个元素是2,那么第一次排序后,数组变成:[2 3 1 0],3往后移动了一位,原创 2017-06-16 21:25:55 · 255 阅读 · 0 评论 -
go语言坑之并发访问map
go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定的限制,如果是在单个协程中读写map,那么不会存在什么问题,如果是多个协程并发访问一个map,有可能会导致程序退出,并打印下面错误信息:fatal error: concurrent map read原创 2017-04-21 21:11:02 · 687 阅读 · 0 评论 -
数据结构学习之队列(queue)
最近由于工作原因,需要自己实现一个类似队列的数据结构,所以想写篇文章记录并总结下队列的相关内容,主要有以下4点:1)队列的定义2)队列的举例3)队列的基本操作4)队列的实现(go)1)队列的定义队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为堆尾(rear))进行插入操作,即原创 2017-04-14 23:22:22 · 437 阅读 · 0 评论 -
go语言坑之for range
go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片类型是一个int型,映射的类型是键为int型,值为*int,即值是一个地址。package mainimpo原创 2017-04-04 11:30:55 · 654 阅读 · 0 评论 -
go语言简介
1 基础知识go语言有以下特点:编译型语言,编译速度快静态类型语言,拥有动态类型语言特点类c语法,简单易学支持gc语言层面支持并发跨平台编译2 著名的go项目:docker:开源的应用容器引擎kubernetes:一个开源的,用于管理云平台中多个主机上的容器化的应用etcd:用于可靠地存储集群的配置数据的一种持久性,轻量型的,分布式的键...原创 2018-12-15 18:33:11 · 324 阅读 · 0 评论