Go语言 常用日志记录方法

Go目前标准包中日志只是方便的实现日志记录的功能,这些日志都是基于fmt包的打印再结合panic之类的函数来进行一般的打印、抛出错误处理。 一个简单的日志记录代码例子: 代码来自:http://www.du52.com/text.php?id=114 package main import( "fmt" "log" "os" ) func main(){ logfile,err:=os.OpenFile("/Users/cybercare/tmp/test.log",os.O_RDWR|os.O...阅读全文

2014-04-20 16:38 abv123456789
阅读:11257 评论:0

Golang使用lxn/walk做GUI界面开发:邮件群发器

我也是刚刚使用walk这个组件,很多控件接口不熟悉,把我上次发的邮件群发器修改成图形界面的,线程发送邮件,gob库保存数据等。只提供作学习交流,仅供参考(界面很烂)。 接下来是main.go的代码: // Multi-SendEmail project main.go package main import ( "bufio" "encoding/gob" "errors" "fmt" "io" "net/smtp" "os" "strconv" "strings" "time" ) impor...阅读全文

2014-12-20 12:02 一曲忧伤
阅读:12697 评论:0

Golang分布式并发---群体性热点淘汰算法

Golang分布式并发---群体性热点淘汰算法 在传统的算法中,要计算热点的时候,常规采用,收集所有的任务列表,然后进行排序,得出前n的热点数据。此种算法的不好地方有: 1、 需要收集所有的任务列表。任务数过多时,收集是个问题 2、 将任务列表进行排序。在此过程中,如果列表过多,则会排序时间过长。 另外如果需要进行同步的话,则在此算法中,会有个停顿。 那么我们构建一个场景,一个网吧有n个位置,每个人都可以去网吧,但规定,每次只能预约1小时,如果时间到了,则可以续费继续一个小时,如果不需要则放弃位...阅读全文

阅读:2909 评论:0

『Golang』跨平台TUI(基于文字的用户界面)库Terbox-Go文档翻译

原文 package termbox import "github.com/nsf/termbox-go" termbox-go 是一个用于创建跨平台TUI(基于文本的用户界面)的库。 索引 Variables func CellBuffer() []Cell func Clear(fg, bg Attribute) error func Close() func Flush() error func HideCursor() func Init() error func Interrupt()...阅读全文

2015-02-09 15:36 sitemanager
阅读:5018 评论:0

go语言值得学习的开源项目推荐

谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也有大型如nsq、docker等的项目。 下面推荐几款适合学习的项目: 1、cache2go https://github.com/muesli/cache2go 比较简单的一个缓存库,代码量很少,适合新手学习,可以学习到锁、goroutines等。 2、groupcache https://gith...阅读全文

2015-03-02 22:52 baiyuxiong
阅读:27974 评论:1

Go与GUI——GO语言的图形界面Walk

GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。 关于Walk界面库(官方介绍): Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。 Part One:安装Walk 在浏览这部分前,请确定已经配置安装完毕go语言的环境。如果没有,可以参考go官网的Install帮助。另外,注意:这个Walk库只能运行在Go 1.1....阅读全文

阅读:71705 评论:15

把别人的Tcl/Tk代码加入到Go语言里11 游戏4 红心游戏

a 首先打开网页下载tcl/tk游戏源码http://sourceforge.net/projects/tkgames/files/latest/download?source=typ_redirect b 把压缩包里的tcl/tk源代码文件tkHearts-0.90用文本编辑器打开,并把所有内容 复制到如下go源代码的init_script字符串常量里 package main import "github.com/nsf/gothic" const init_script = ` #把Tcl...阅读全文

2015-05-13 12:30 名字不能长
阅读:1500 评论:0

GO语言运行cmd命令逐行实时输出执行过程

Golang运行cmd命令逐行实时输出执行过程,注意,不是一次输出所有的内容,而是按照执行的过程,逐行逐行的实时显示出来 代码如下: package main import ( "bufio" "fmt" "io" "os/exec" ) func main() { command := "ls" params := []string{"-l"} //执行cmd命令: ls -l execCommand(command, params) } func execCommand(commandNam...阅读全文

2015-03-12 15:52 windvix
阅读:32198 评论:5

[译] CockroachDB GC优化总结

几周前我们分享了一个帖子讲述我们为什么选择Go语言编写CockroachDB,我们收到一些问题,询问我们是如何解决Go语言的一些已知问题,特别是关于性能、GC和死锁的问题。 本文中我们将分享几个非常有用的优化技巧用以改善许多常见的GC性能问题(接下来还将覆盖一些有趣的死锁问题)。我们将重点分享如何通过嵌套结构体、使用 sync.Pool、和复用后端数组减少内存分配和降低GC开销。 减少内存分配和GC优化 将Go与其他语言(比如java)区别开来的是Go语言能让你管理内存布局。通过GO语言,你可以...阅读全文

阅读:4706 评论:1

微服务实战(一):微服务架构的优势与不足

【编者的话】本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。正如作者所说,微服务架构更适合用于构建复杂的应用,尽管它也有自己的不足。 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在http://microservices.io上发表有关微服务的文章。 微服务正在博客、社...阅读全文

阅读:16399 评论:0

5分钟学习基于Go,go-microservice-template,Minke的微服务

【编者的话】本篇文章介绍了Go语言下构建微服务的例子,作者利用一个helloword讲解了如何使用他的微服务框架,该框架不仅包含了构建服务,还包括路由、请求验证、日志记录、测试、动态配置变更,最后将提供了将服务整合到Docker容器并持续集成。本文干货满满,虽然需要一些对Go语言的基础,但是这构建微服务的思路是通用的。 @Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自携程、PPTV、蚂蚁金服、京东、浙江移动、海尔电器、唯品会、eBay、道富银行、麻袋理财、土豆网...阅读全文

阅读:9901 评论:0

用Go构建Teamwork项目的9条教训

我们爱 Go。在过去的一年中,我们为了构建 Teamwork Desk 多个服务,写下了将近 20 万行 Go 代码。我们已经构建了该产品的十多个小型 HTTP 服务。为什么要使用 Go?Go 是一种快速(非常快)的静态类型编译语言,它有强大的并发模型、垃圾收集、优异的标准库、无继承、传奇的作者、多核支持以及非常不错的社区。更别说对于我们这种写 Web 应用的程序员,它的 goroutine-per-request 设置可以避免事件循环和回调地狱。在构建系统和服务器方面尤其是微服务,Go 语言已...阅读全文

2016-05-19 09:19 abv123456789
阅读:9751 评论:5

[goa]golang微服务框架学习--安装使用

当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题。 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码,一直再想如何使用IDL描述服务,然后自动生成框架代码。 直到遇到老这货 goa,另外一个go的微服务框架。具体介绍看这篇,还有官网。 这货实现了框架的代码自动生成(自动生成的代码可以热更新,因为生成代码和自己写的代码是分开的),而且理念也比较时髦,基于API设计,利用插件来扩展业务逻辑。 于是想想要赶紧...阅读全文

2016-05-26 16:17 zhangqingping
阅读:7333 评论:0

Go语言内幕(1):主要概念与项目结构

本文由 伯乐在线 - yhx 翻译,唐尤华 校稿。未经许可,禁止转载!英文出处:Sergey Matyukevich。欢迎加入翻译组。这个系列博客主要为那些对 Go 基本知识已经有一定了解,又希望对其内部细节进行更深一步地探索的人准备的。今天这一篇主要分析 Go 源代码的基本结构以及 Go 编译器的某些内部细节。读完这篇博客后,你会得到下面三个问题的答案: 1. Go 源代码结构是什么样子的? 2. Go 编译器是如何工作的? 3. Go 语言中的结点树的基本结构是什么样的? 让我们开始吧 每当...阅读全文

阅读:8479 评论:1

golang 爬虫实现(一)

一、环境准备 1、编译器,intellij idea。 下载地址:https://d1opms6zj7jotq.cloudfront.net/idea/ideaIC-2016.1.2b.exe 下载完,直接安装。安装之后的编辑器不支持golang。需要添加支持golang的插件,添加插件有两种方法。 第一种: (1)点击file->setttings->plugins->Browse Repositories; (2)搜索go,找到后,点击install,重起编译器; 第二种: (1)下载gol...阅读全文

2016-05-25 16:15 kelindame
阅读:2522 评论:0

go语言学习视频

学习Go语言已经半年多了,从Java转到Go语言,学习难度真心觉得不大,我学习的习惯是先从看视频开始,需要深入学习的时候才会去看书。但是很多时候很难找到自己需要的视频开始学习,大家是否和我有一样的困惑呢,为了解决大家这个问题,我觉得把我手里的视频资料分享给大家。 GO语言入门:http://pan.baidu.com/s/1qYfGrJe阅读全文

2016-11-12 10:26 marvel_java
阅读:3179 评论:1

从小案例学习Go语言-将Excel各部分内容分发到不同的电子邮箱

关键点: Go语言读取Excel Go语言正则表达式 Go语言发送电子邮件 案例场景 今天公司行政部小妹妹跑来问,有什么办法可以把工资条自动发送到每个员工的企业邮箱里?公司每个员工的工资条以Excel的形式放在同一个文档里,之前用OA发送,复制粘贴,操作相当简单,但是公司要求改用电子邮件发送工资条后,给行政部的同事增加了较大的工作量,而且每个月都需要做一次,这很浪费时间,于是爽快的答应帮忙解决。 情况梳理 公司工资条大概这个样子的 为了方便,行政部门会把所有人的工资条按顺序排列在同一个Excel...阅读全文

阅读:11166 评论:8

Kubernetes 大咖秀徐超《使用 client-go 控制原生及拓展的 Kubernetes API》

大家好,我是徐超,从事 Kubernetes 开发已经两年多了。 今天,我从一个开发者的角度来讲一讲 client-go repository,以及怎么用 client-go 搭建 Controller。同时,也给大家讲一讲开发过程中遇到的坑,希望大家在开发的时候可以绕坑而行。 另外,我还会讲一下 Kubernetes 的 API,让 controller 功能变的更加强大。 那我们现在先来讲,有哪些方法可以跟 APIserver 进行通讯。最常用的,可能就是 kubectl,以及官方支持的 U...阅读全文

2017-01-22 20:00:06 Caicloud
阅读:6843 评论:0