Golang优秀开源项目汇总(持续更新。。。)

Golang优秀开源项目汇总(持续更新。。。) 我把这个汇总放在github上了, 后面更新也会在github上更新。 https://github.com/hackstoic/golang-open-source-projects 。 欢迎fork, star , watch, 提issue。 资料参考来源:http://studygolang.com/projects 监控系统 序号 名称 项目地址 简介 1 OpenFalcon http://github.com/open-falcon/...阅读全文

2016-07-23 23:55 hackstoic
阅读:39257 评论:3

Beego-Go语言在开发过程遇到一些小问题汇总

在开发过程中经常会遇见一些问题,现把汇总和解决方法记录一下。 1、session设置的问题 在设置session的时候,有整型,有字符串类型,在连接的时候要用到: fmt.Sprintf() + 连接字符串,不格式一下,直接拼接会报错 this.SetSession("userLogin", fmt.Sprintf("%d", users.Id)+"||"+users.Username+"||"+users.Avatar) 2、session获取问题 在设置好session后,获取的是通过 th...阅读全文

阅读:1358 评论:0

Visual Studio Code --GO开发工具配置

一直在寻找一个趁手的GO语言开发工具,尝试了很多都不顺心,听beego作者推荐试了一下微软推出的业界良心Visual Studio Code 来开发做GO开发确实很舒服,今天总结一下Visual Studio Code-GO开发工具的配置。 1、需要安装的工具 go , Visual Studio Code,git 百度云 :http://pan.baidu.com/s/1i5nW50L 密码: ebpc 360云盘:https://yunpan.cn/c6mGjQf9mU6gE 访问密码 30...阅读全文

2016-07-30 01:06 wangtongxue1234 等
阅读:1002 评论:0

Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间...阅读全文

阅读:766 评论:0

谷歌 Go 语言从入门到应用,

Go语言于2009年11月正式宣布推出,成为开放源代码项目,发展至今已经具有越来越广泛的影响力,今年更是在 TIOBE 编程语言排行榜中上升了 34 位,跻身 20 强。很多开发者也逐渐将目光投向这门语言,本文整理了部分比较好的学习和应用 Go 语言的开发项目,希望为没有接触过这门语言的开发者们提供一个学习和了解这门语言的途径。 关于 Go 语言: Go 是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。 一、入门篇 0.开源图书 《Go Web编程》 一本开源的书籍《Go ...阅读全文

2016-12-11 18:00:03 两味真火
阅读:3500 评论:0

Golang开发支持平滑升级(优雅重启)的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑升级,需要以下几个步骤: 用新的可执行文件替换老的可执行文件(如只需优雅重启,可以跳过这一步) 通过pid...阅读全文

2016-12-15 16:00:15 一曲
阅读:1989 评论:0

Go 语言的网络编程简介

本文通过 Go 语言写几个简单的通信示例,从 TCP 服务器过渡到 HTTP 开发,从而简单介绍 net 包的运用。 TCP 服务器 首先来看一个 TCP 服务器例子 package main import ( "fmt" "log" "net" ) func main() { // net 包提供方便的工具用于 network I/O 开发,包括TCP/IP, UDP 协议等。 // Listen 函数会监听来自 8080 端口的连接,返回一个 net.Listener 对象。 li, err...阅读全文

2017.04.29 20:03 源小白
阅读:484 评论:0

Golang精编100题

能力模型 级别 模型 初级primary 熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级intermediate 能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目标; 高级senior 能够开发出高质量高性能的代码;能够熟练使用高级特性,开发编程框架或测试框架; 选择题 [primary] 下面属于关键字的是()A. funcB. defC. structD. class 参考答案:AC [prima...阅读全文

2017.04.19 18:33* _张晓龙_
阅读:1394 评论:1

Go语言TCP网络编程(详细)

一、序言 Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket实现的 网络编程方面,我们最常用的就是tcp socket编程了,在posix标准出来后,so...阅读全文

2017-05-16 11:00:28 徐学良
阅读:1232 评论:0

可视化 Go 语言中的并发

本文作者提供了在 2016 的 GopherCon 上的关于 Go 并发可视化的[主题演讲视频](https://www.youtube.com/watch?v=KyuFeiG3Y60)。 Go 语言一个鲜明的优点就是内置的基于 [CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes) 的并发实现。Go 可以说是一个为了并发而设计的语言,允许我们使用它构建复杂的并发流水线。但是开发者是否在脑海中想象过不同...阅读全文

2017-12-10 20:32:51 polaris
阅读:3301 评论:6

MacOs搭建go环境

新手小白,接触一下go,第一步当然是把环境先搭起来 IDE: GoLand 下载地址:https://www.jetbrains.com/go/ go: 下载地址: https://golang.org/dl/ mac安装后可直接点击pkg进行安装 环境配置: 此时在item中输入go env 显示zsh: command not found: go打开 .zshrc 加入 export PATH=$PATH:/usr/local/go/bin 打开新页面 输入go env 在goland中添加...阅读全文

2017-12-13 19:04:39 努力奋斗的小菲菲
阅读:394 评论:0

史上最全!每个程序员必须知道的学习网站!先收藏吧!太多了!

在学习计算机科学(CS)时,必须知道一些有用的网站,以便随时掌握信息,了解技术前沿和学习新技术。下面是你应该访问的一些网站的不详尽的列表,十分建议收藏备用!进群:548377875 即可获取数十套PDF哦!索引当你遇到困境时新闻初学者的编码实践给那些想开始一个小项目却找不到点子的人一般编码建议编码风格一般工具面试的准备纪录片学习新知识的慕课(大型开放式网络课程)网你的首选编程语言的相关网站(对我来说是Java)学习人工智能讨论会、研究写作、会谈等凡事汇聚一处YouTube频道好文章播客构建简单的...阅读全文

2018.08.29 16:08 919b0c54458f
阅读:156 评论:0

golang日志框架之logrus

本文转载自姜总 golang日志库 golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logrus、zap、zerolog、seelog等。 logrus是目前Github上star数量最多的日志库,目前(2018.08,下同)star数量...阅读全文

2018年08月14日 17:14:04 wslyk606
阅读:102 评论:0

手摸手教你用beego实现留言本之三(实现登录和退出)

> 登录和退出的流程: 1. 输入用户名、密码传到后台 2. 数据库查询结果是否匹配 3. 匹配成功保存 session 跳转首页 4. 退出登录 删除session 这里用到了beego的三个知识点:session | 数据库查询 | 跳转 ### 1. 设置session >首先,我们需要开启 session,在文件 app.conf 中加入 ``` sessionon = true ``` 如果未开启直接访问session可能会报如下错误: ...阅读全文

2019-01-15 11:16:01 wujiangwei
阅读:111 评论:0

Go语言开发(十八)、Go语言MySQL数据库操作

Go语言开发(十八)、Go语言MySQL数据库操作 一、MySQL数据库驱动 1、MySQL数据库驱动简介 Go语言官方没有实现MySQL数据库驱动,常用的开源MySQL数据库驱动实现如下:(1)Go MySQL DriverGo MySQL Driver支持database/sql接口,全部采用Go语言实现。官方网站:https://github.com/go-sql-driver/mysql/(2)MyMySQLMyMySQL支持database/sql接口,也支持自定义的接口,全部采用Go...阅读全文

2019-01-20 19:33:15 天山老妖S
阅读:202 评论:0