Go语言中文网 为您找到相关结果 696

Windows下安装go开发环境

windows系统安装go开发环境 国内网络,可以到https://golang.org/dl/下载最新安装包,注意这里要下载windows对应的下载包。 下载对应安装包 下载后直接双击msi文件安装,默认安装在c:\go。 双击安装 安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录 c:\go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 c:\go\ 验证是否安装成功,在运行中输入 cmd 打开命令行工具,在提示符下输入 go 验证安装成功 通常会出现这样的提示,表示我们的机器上已经安装好Go开发环境了。快写个Go版本的HelloWorld来Play一下吧...阅读全文

golang编程之获取命令行参数及环境变量

http://blog.chinaunix.net/uid-24774106-id-3990722.html 我们写习惯了C代码,都知道了解析输入参数argc argv,获取环境变量env,常见的C语言main函数有: int main(int argc,char* argv[],char** envp) 我们首先给出C语言的获取命令行参数和环境变量的代码: manu@manu-hacks:~/code/c/self/env$ cat env.c #include #include int main(int argc,char* argv[],char** envp) { int i; printf("there are %d input param\n...阅读全文

博文 2016-02-10 02:00:02 blade2001

GDB调试Go程序进阶

目的:使用gdb附加到一个正在运行的进程上,然后做一些调试,并安全退出。 1. 修改Ubuntu配置,允许gdb附加到进程上,如何修改如下: http://askubuntu.com/questions/41629/after-upgrade-gdb-wont-attach-to-process 2. 查看进程id #ps ax 或者 #ps au 3. 启动gdb 4. 使用file命令来指定进程所联系的程序源代码和符号表,例如: file /home/yourihua/workplace/rhino/bin/console 5. attach <进程ID> 6. 打断点,如下: b /home/yourihua/workplace/rhino/src/github.com/yourihu...阅读全文

博文 2014-10-09 16:55:02 Rhino(犀牛)

go语言写日志

go语言有一个标准库,log,提供了最基本的日志功能,但是没有什么高级的功能,如果需要高级的特性,可以选择glog或log4go。 glog是google提供的,类似于google的c++ log库,使用起来非常简单,下面介绍一下;log4go的用法和log4j一样,可配置性比较高。 glog只提供了少数几个选项,通过命令行控制,例如: -log_dir: 日志文件保存目录 -alsologtostderr: 日志写入文件的同时,输出到stderr -v:配置V输出的等级。 glog使用非常简单,只需要import就可以了。glog package的init函数会初始化并启动一个glog 的flushDaemon协程,你只需要使用glog.Info, glog.Warning, glog.E...阅读全文

博文 2014-11-17 14:44:17 铁哥

深入浅出Docker(四):Docker的集成测试部署之道

【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。为了更好的促进Docker在国内的发展以及传播,我们决定开设《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容,让读者对Docker有更深入的了解,并且能够积极投入到新技术的讨论和实践中。另外,欢迎加入InfoQ Docker技术交流群交流Docker的最佳实践,QQ群号:365601355。 1. 背景 敏捷开发已经流行了很长时间,如今有越来越...阅读全文

博文 2014-11-12 17:16:41 肖德时

Mac下Golang安装以及目录结构

1.安装步骤a.下载地址 下载SDK后,解压到自己喜欢的目录(后面配置PATH需要用到)b.配置PATH,有很多个地方可以配置具体可参考此链(PATH配置详解),我是直接修改的~/.bash_profile来设置环境变量,因为该文件一般用户都能更改,没有涉及到任何权限问题,具体参考此链接粗暴配置。在此文件输入export GOROOT=$HOME/goexport GOPATH=$HOME/go:$HOME/MyGOexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin其中GOROOT对应的就是前面的Go源码包解压路径,GOPATH可以设置多个看你自己想在哪里新建都行,按:分开就行如上面所示就是如此简单,环境就配置好了,可在命令行输入go 看是否安装成功2.目录结...阅读全文

博文 2017-09-29 18:34:50 小小刀锋

gstunnel---一个安全网络管道

项目简介: gstunnel 是 基于go 语言开发的一个安全网络管道,支持tcp协议。 gstunnel分为client和server两部分。 gstunnel 基于aes进行数据加密。 流程示意: 网络中,a到b的网络通信。 a-->b 使用gstunnel 后, a到b的网络通信。 a-->gstunnel client -->gstunnel server -->b gstunnel 为a、b之间的网络通信提供了一个加密层。 使得a、b的通信数据,变为了加密数据,这样第三方就不能获知a、b的通信内容。从而保证了a、b网络通信的安全。 支持的应用: http proxy(squid3等)、email、socks 5 p...阅读全文

golang解析csv并导入elastic search

今天我们一起来写一个从csv文件将数据导入elastic search的小程序 准备工作 在gopath的src文件夹下创建csv2es文件夹,并创建main.go文件。下载一些csv文件备用 解析命令行参数 首先我们需要使用flag package解析命令行参数,代码如下 func main() { // 解析命令行输入 host := flag.String("host", "http://localhost:9200", "host, e.g. http://localhost:9200") file := flag.String("file", "", "file path") esIndex := flag.String("index", "", "elastic search i...阅读全文

博文 2017-02-26 01:57:55 bigtom

go语言 从命令行获取参数解析

go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的示例代码一样使用os.Args来获取命令行参数 package main import "fmt" import "os" func main(){ if len(os.Args)>0 { for index , value := range os.Args { fmt.Println(index, value) } } } 将上面的代码执行go build -o "args_demo"编译之后,执行: 0 ./args_demo 1 a 2 b 3 c 4 d os.Args是一个存储命令行参数的字符串切片,它的第一个元素是执行文件的名称。...阅读全文

博文 2019-05-13 01:35:17 霍帅兵

golang 实现clock

在网上看到某人实现了一个简单的clock,发现代码编译不过,略作修改: 1 package main 2 3 import ( 4 "bufio" 5 "image" 6 "image/color" 7 "image/png" 8 "math" 9 "os" 10 "time" 11 ) 12 13 const clock_size = 200 14 const radius = clock_size / 3 15 16 var colour color.RGBA 17 18 func circle(clock *image.RGBA) { 19 for angle := float64(0); angle < 360; angle++ { 20 radian_angle := math.P...阅读全文

博文 2014-10-04 19:26:07 ronghantao

阿里巴巴 Sigma 调度和集群管理系统架构详解

阿里系统软件技术 阿里系统软件技术 统一调度体系 始于 2011 年建设的 Sigma 是服务阿里巴巴在线业务的调度系统,围绕 Sigma 有一整套以调度为中心的集群管理体系。

image
Sigma 有 Alikenel、SigmaSlave、SigmaMaster 三层大脑联动协作,Alikenel 部署在每一台物理机上,对内核进行增强,在资源分配、时间片分配上进行灵活的按优先级和策略调整,对任务的时延,任务时间片的抢占、不合理抢占的驱逐都能通过上层的规则配置自行决策。SigmaSlave 可以在本机进行容器 CPU 分配、应急场景处理等。通过本机 Slave 对时延敏感任务的干扰快速做出决策和响应,...阅读全文

博文 2018-08-27 15:35:21 阿里系统软件技术

go语言windows上使用

1、下载go的zip文件。并且一定要把文件解压到c:\go目录下。 2、配置windows的高级环境变量。包括:GOROOT、GOOS、GOBIN、GOARCH。并且在path变量里面把c:\go\bin加入。以便可以在命令行直接运行go命令。 举例:我的机器: set GOARCH=386 set GOOS=windows set GOROOT=c:\go set GOBIN=%GOROOT%\bin set GOPATH=%GOROOT%;F:\workspace\goSample01; GOPATH=%GOROOT%;%GOROOT%\src;F:\workspace\goSample01; GOBIN=%GOROOT%\bin;F:\workspace\goSample01\bin;...阅读全文

博文 2014-10-27 16:00:01 jklfjsdj79hiofo

golang JWT的简单使用

JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。 JWT和session有所不同,session需要在服务器端生成,服务器保存session,只返回给客户端sessionid,客户端下次请求时带上sessionid即可。因为session是储存在服务器中,有多台服务器时会出现一些麻烦,需要同步多台主机的信息,不然会出现在请求A服务器时能获取信息,但是请求B服务器身份信息无法通过。JWT能很好的解决这个问题,服务器端不用保存jwt,只需要保存加密用的secret,在用户登录时将jwt加密生成并发送给客户端,由客户端存储,以后客户端的请求带上,由服务器解析jwt并验证。这样服务...阅读全文

博文 2018-10-31 16:34:58 我的饭卡呢

Go自学团队:Day 1 :批量文件重命名,替换文件名

``` /** 批量文件重命名,替换文件名 王参加 2018-03-08 23:00 */ package main import ( "flag" "fmt" "os" "path/filepath" "strings" ) func main() { // 解析命令行参数 var dir string flag.StringVar(&dir, "d", "", "要替换的目录物理路径,如:/tmp/go/") var oldstr string flag.StringVar(&oldstr, "o", "", "要替换的字符:例如:替换 .php 或者 .inc.") var newstr string ...阅读全文

golang pprof 使用简介

golang 的 pprof 是性能分析的神器,包括交互命令行和 UI 图像化的分析。主要来看看 pprof 支持哪些功能,以及我们如何用他来分析性能。 pprof 使用 使用 pprof 需要在代码里倒入如下的包 import _ "net/http/pprof" 如果没有跑http server,比如说跑了一个进程,那么需要另起一个 goroutines 跑一下 http server go func() { log.Println(http.ListenAndServe("localhost:6060", nil)) }() 使用交互式命令 查看堆栈调用信息 go tool pprof http://localhost:6060/debug/pprof/heap 查看 30 秒内的 C...阅读全文

博文 2019-06-17 02:32:40 咔叽咔叽_

Go_os

这两天阅读了下Golang的标准包os的文档把里面的方法看了个大概 记录一些比较容易混淆的 os.Lstat() os.Stat() 两者都是返回FileInfo 唯一的区别是如果是一个 symbolic link name前者返回的是 symbolic link 的FileInfo 后者则返回symbolic link 所指向文件的FileInfo os.Sync() 将要写入磁盘的内容立即提交 写入到磁盘 在StackOverflow上找到的一段话 解释的不错 You'll notice that an os.File doesn't have a .Flush() because it doesn't need one because it isn't buffered. Writes...阅读全文

博文 2016-03-02 12:00:02 u012807459

golang进阶(二)——cobra更实用的命令行

+++ title=”golang进阶(二)——cobra更实用的命令行” date=”2017-10-11” tags=[“golang”,”glide”,”docker”] categories=[“资源管理”] description=”golang自身带的命令行包,各种case,有代码洁癖的人看着就令人头大” +++ cobra是个非常不错的命令行包,docker,hugo都在使用 基命令 首先创建一个基命令 package cmd import ( "github.com/spf13/cobra" ) var RootCmd = &cobra.Command{ Use: "gonne", Run: func(cmd *cobra.Command, args []string) { ...阅读全文

博文 2017-11-06 12:07:02 lastsweetop

如何通过solc编译solidity编写的以太坊智能合约

# solc:solidity的编译器 solidity编写的以太坊智能合约可通过命令行编译工具solc来进行编译,成为以太坊虚拟机中的代码。solc编译后最终部署到链上形成我们所见到的各种智能合约。 作为一个solidity命令行编译工具,我们来看看官网都怎么说solc。 solc的安装很简单: ``` npm install -g solc //或者 npm install -g solc-cli //或者 sudo apt-get install solc ``` 安装完成后我们来看,```solc --help```,solc --help命令显示所有的solc命令选项。编译器可以生成各种输出,比如最终的二进制合约文件、语法树的汇编或者需要预计的要花费的gas等。```solc --...阅读全文

博文 2018-06-16 11:55:20 hubwiz

cli - 构建强大命令行程序的工具箱 (1)

cli 简介 ======== `cli` 是一个简单易用的命令行程序开发工具。和标准库的flag相比,`cli` 提供了更加优雅的参数定义方式。`cli` 将参数定义放在一个结构体,每个字段代表一个flag,每个flag通过golang的tag来描述。支持的tag包括: * cli - flag名 * usage - flag的使用说明 * dft - flag的默认值 * name - flag的引用显示名 举个栗子: ![cli-1.PNG](http://studygolang.qiniudn.com/160313/9549f7dc11f8bac98632...阅读全文

Go 资源整理,这里有你想要的????

嗯~世界上第二好的语言,这里有你可能想要的????在 GitHub 上稳定更新,觉得不错请点个 Star ❤️ 如转载分享,请保留出处,谢谢 ???? 原文地址: https://shockerli.net/post/go... GitHub: https://github.com/shockerli/... 官网: https://golang.org国内官网镜像(访问快~): https://golang.google.cn GitHub: https://github.com/golang/go Wiki: https://github.com/golang/go/... 指导原则 简单性 复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。 可读性 代码是给人看的,代码阅读时长远...阅读全文

博文 2019-10-31 14:02:42 Jioby

关于微软容器战略,你需要知道的十件事

自从微软和Docker宣布合作以来,微软Redmond一直在容器上面的战略可谓稳扎稳打。最近,微软加入Open Container Initiative (OCI),并作为创始成员承诺支持常见容器的格式和运行。在最新的Windows Server 2016技术预览版中,微软终于将本地的Windows Container技术提供给开发人员和系统管理员。 由于媒体的关注和用户的积极反响,对于许多消费者来说,容器就等于是Docker的代名词。而且它只在Linux上运行。鉴于这些事实,在开发者社区里,对于微软支持容器技术也一直比较混乱。在不同的博客文章中,微软强调其投资容器。微软高管并不羞于告诉我们他们有多么爱Docker和其背后的团队。这种定位导致大家对于微软容器战略的认识模糊。我不止一次听...阅读全文

beego 中使用关联查询( join 查询)

beego 中使用关联查询( join 查询) 文档所在网址:这里 //使用实例: article:=new(Article) num,err:= o.QueryTable("go_article").RelatedSel().All(&article) 但直接使用 RelatedSel() 是不行,还必须先在 model中定义: type User struct { Id int Name string Age int } type Article stuct { Id int Title string Content string User *User `orm:"rel(fk)"` //这样写,默认在Article中应该有一个user_id的字段,如果没有,通过beego自动建表的话,...阅读全文

博文 2018-07-26 14:34:56 agui1989

golang国内加速

问题 众所周知的原因,go获取包的时候,经常会很慢,使得go的学习成本变高,现在推荐个方法,一步解决这个问题。那就是,goproxy的代理,用完你会发现肉眼可见的变快。 方法 如果你是windows用户,在命令行执行以下命令 $env:GO111MODULE="on" $env:GOPROXY="https://goproxy.io" 2.如果你是macOS用户或者linux用户,在/etc/profile文件最后,加入以下代码 # Enable the go modules feature $env:GO111MODULE="on" # Set the GOPROXY environment variable $env:GOPROXY="https://goproxy.io" # 这里废话...阅读全文

博文 2019-11-10 21:33:26 更多精彩内容Golang(三)命令行工具集云时代的运维开发golang 新人入门配置学习molscarLinux 从 0 到 1(二) - 权限,用户及群组管理,Nano,软件安装,Man,文件查找Zoulf自己喂养自己梨花树下我相信大自然也会难过帅杨硕

从零开始学GO语言(1)——hellow world

我是一个前端工程师,近来老大发邮件让我们调研go语言,而我近来在等待联调,事儿不是很多,所以开始学习GO语言,和学习所有语言一样,第一个程序肯定是输出“hello world”。下面讲讲我的过程。 我的电脑的系统是ubuntu 12, 所以先安装GO语言的编译器,直接sudo apt-get install gccgo就好了。 然后新建文件 hello,参照网上事例,写如下代码: package main import fmt "fmt" func main(){ fmt.Printf("hello world"); } 完事之后编译,命令gccgo hello,才先go对编译文件的命名有规定,代码文件必须是.go结尾,修改完之后重新编译,编译通过,运行可以输出“hello world” 要...阅读全文

博文 2014-10-26 19:00:00 xiunen

Go 运行时间分析工具 gom

Gom 是一个可视化界面,处理 Go 程序的运行时间分析数据(runtime profiling data )。 ## Goals * 构建一个轻量级的工具,处理运行时间分析(runtime profiles ) * gom 不准备提供命令行工具那样的高细粒度的特性,用户需要更复杂功能时可求助 `go tool pprof` 工具 * 允许用户通过符号名字进行过滤,隐藏、忽略。 * 提高对 Go 的分析工具和软件包的关注度。 * 在其它可能的地方提供额外的轻量级数据 ### Minor Goals * gom 提供界面让用户输出他们的分析数据 * 允许用户使用自定义的 profiles. * 简化 pprof 图形输出 [![gom screenshot](http:/...阅读全文

开源项目 2016-01-07 16:00:00 rakyll

命令行程序示例集

[**CLI**](https://github.com/mkideal/cli)是一个非常小巧,便于使用且功能丰富的用于构建命令行程序的库。为了让大家更加容易上手,特此撰写了二十几个程序示例。每个示例都非常简单,通常只用来阐明一个特性的使用方法。 * [Example 1: Hello world](http://www.mkideal.com/golang/cli-examples.html#example-1-hello) * [Example 2: How to use **flag**](http://www.mkideal.com/golang/cli-examples.html#example-2-flag) * [Example 3: How to use **requ...阅读全文

比特币钱包GoWallet

比特币脑钱包。使用一个秘钥和盐值综合加密生成分层确定性比特币钱包,基于 BIP32,BIP44 和 BIP38 协议,使用 Go 语言开发。 ![image](https://raw.githubusercontent.com/aiportal/gowallet/master/_doc/account.png) ![image](https://raw.githubusercontent.com/aiportal/gowallet/master/_doc/encryption.png) 您可以使用命令行导出散装钱包。 -n或-number uint 生成的钱包数量 -v或-vanity字符串 找到虚荣钱包地址匹配。 (字首) -e或-export字符串 以WIF格式...阅读全文

开源项目 2017-09-14 08:00:02 网友

Go语言 goroutine背后的系统知识

Go语言从诞生到普及已经三年了,先行者大都是Web开发的背景,也有了一些普及型的书籍,可系统开发背景的人在学习这些书籍的时候,总有语焉不详的感觉,网上也有若干流传甚广的文章,可其中或多或少总有些与事实不符的技术描述。希望这篇文章能为比较缺少系统编程背景的Web开发人员介绍一下goroutine背后的系统知识。 1. 操作系统与运行库 2. 并发与并行 (Concurrency and Parallelism) 3. 线程的调度 4. 并发编程框架 5. goroutine 1. 操作系统与运行库 对于普通的电脑用户来说,能理解应用程序是运行在操作系统之上就足够了,可对于开发者,我们还需要了解我们写的程序是如何在操作系统之上运行起来的,操作系统如何为应用程序提供服务,这样我们才能分清楚哪些服务...阅读全文

博文 2014-10-04 19:25:59 abv123456789

关于GO与FFmpeg结合的问题!

各位好,我想使用Go语言结合FFmpeg将视频格式进行转换,我不太想用命令的方式去搞。 请问有大家都是怎么做的?是可以结合ffmpeg编译好的模块实现吗? 我用命令行也发现有问题,如下: cmd := exec.Command("ffmpeg","-y","-i ", spath , "-vcodec copy","-acodec copy" ,dpath) 结果不行,一直在报错误,请问命令行大家如何使用的...阅读全文

大规模并行批处理作业的分布式云服务——批量计算使用教程

课程介绍 批量计算(BatchCompute)是一种适用于大规模并行批处理作业的分布式云服务。BatchCompute可支持海量作业并发规模,系统自动完成资源管理,作业调度和数据加载,并按实际使用量计费。BatchCompute广泛应用于电影动画渲染、生物数据分析、多媒体转码、金融保险分析、科学计算等领域。 产品详情:https://www.aliyun.com/product/batchcompute 课时列表 • 课时1:Docker应用使用演示 • 课时2:控制台提交和管理作业 • 课时3:命令行工具安装和配置 • 课时4:命令行工具提交和管理作业 • 课时5:云渲染管理系统使用演示 • 课时6:自定义镜像 开始学习http:...阅读全文

golang 通过 qq 开通smtp 发送邮件的 全步骤(tls +ssl)

首先 打开邮件 2 找到 》设置 》账户 选项卡 这里会根据你的账号安全添加密保 ,添加密保 后 会给你 一个 密钥 (2)验证密保 (3)获取授权码 这个授权码 一会会用到 提前须知 :ssl, tls, 是不同的协议 首先 我们用starttls 协议 写 一个 简单的 例子 1 ============= = 1 start ===================== package main import ( "net/smtp" "strings" "fmt" ) func SendToMail(user, pwd, host, to, subject, body, mailtype string) error{ hp := strings.Split(host, ":") aut...阅读全文

博文 2018-01-15 15:33:06 lwtcumt

Bowery为什么放弃Node.js,转向Go?

【编者按】Go语言自从面世就受到了很多开发者的欢迎,越来越多的项目基于Go语言实现,例如非常著名的云计算项目Docker。而本文作者分享了其从Node.js转到Go语言后,整个开发平台的性能得到显著提升,并从中总结出Go的六大亮点。 以下为译文: Bowery是一个基于云技术的开发平台,强大的协同处理技术让即使分散各地的团队成员都能无缝地进行工作。在2014年进行的一次由Node.js转到Go的变更中,Bowery获得了不错的性能提升。那么Go有哪些亮点值得开发者关注的呢? 强大的跨平台编程能力 Bowery团队指出Go能很方便地在不同系统里进行程序编译,这是他们转入Go的重要原因之一。 作为开发平台,对Linux,Windows,OSX等常见操作系统提供支援是能否吸引开发者的基本要素。在G...阅读全文

博文 2015-02-04 01:00:00 mengyidan1988

命令行编译运行Go语言时参数代入的问题

载:http://c2pblog.sinaapp.com/archives/349 Golang 主要用于服务器端,于是shell 命令下面的编译运行就显得非常重要。在linux下面搭建好Golang 环境以后,我们就需要用shell来控制go语言了。熟悉shell的人应该都知道在运行shell脚本的时候经常会有代入参数的情况,一般格式是 sh test.sh [param...] 就是说在后面加上参数就好。那么不出意外Go也是可以这样使用的。当然是可以的。并且本文谈论的重点就是Golang带参数的编译运行。 实现这种效果的是os 包。os.Args [ ]是一个 数组,长度不固定,默认长度是1 ,保存着 go run test.go 这样的字符串,于是如果我们期待在后面加上参数并且调用,那...阅读全文

博文 2015-08-24 19:00:00 yugongpeng_blog

同步文件和目录命令行工具Rclone

Rclone 是一个用于和同步云平台同步文件和目录命令行工具。采用Go语言开发。 **特性:** MD5/SHA1检查文件完整性。 时间戳支持。 部分同步。 文件复制。 目录同步。 检查文件是否一致。 可以同步不同云平台的数据。 可选的加密。 可选的FUSE挂载。 **支持以下平台:** Google Drive Amazon S3 Openstack Swift / Rackspace cloud files / Memset Memstore Dropbox Google Cloud Storage Amazon Drive Microsoft One Drive Hubic Backblaze B2 Yandex Disk The local...阅读全文

开源项目 2017-02-07 03:16:43 ncw

简单易用的密码管理工具

## 摘要 本文介绍一款开源密码管理工具[**onepw**](https://github.com/mkideal/onepw)。 在密码管理器中`1Password`,`KeePass`都是大名顶顶,都有UI界面,而这里要讲的`onepw`则是一款命令行下的密码管理器。`onepw`仅仅只有几个命令: `init`,`add`,`rm`,`ls`,`find`。`onepw` 使用AES-256加密算法和CFB加密模式对密码和帐号进行加密,为每个帐号和密码随机一个初始化向量(IV)。 ![screenshot.png](http://www.mkideal.com/images/onepw-screenshot.png) ## 工作原理 1) 生成AES加密算法...阅读全文

深入浅出Docker(二):Docker命令行探秘

【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。为了更好的促进Docker在国内的发展以及传播,我们决定开设《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容,让读者对Docker有更深入的了解,并且能够积极投入到新技术的讨论和实践中。另外,欢迎加入InfoQ Docker技术交流群交流Docker的最佳实践,QQ群号:365601355。 1. Docker命令行 Docker官方为了让用户...阅读全文

博文 2014-11-11 19:20:27 肖德时

Revel命令行工具编译使用

上一篇,简单介绍了下Revel,这一篇我们看下 github.com/robfig/revel/cmd 这个命令行工具。 文档:http://robfig.github.com/revel/manual/tool.html 首先,编译Revel命令行工具,如下: go build -o bin/revel github.com/robfig/revel/cmd 接着运行帮助,如下: yourihua@ubuntu:~/workplace/rhino/bin$ revel help ~ ~ revel! http://robfig.github.com/revel ~ usage: revel command [arguments] The commands are: run run a Re...阅读全文

博文 2014-10-09 16:53:54 Rhino(犀牛)

Go使用Makefile构建

​ 我们平常很多时候都是直接在命令行输入go build进行编译的: go build . 或者测试使用go run运行项目 go run main.go 我看有很多大型开源项目都是如下方式: make build 或者是这样 make install 我们打包运行这个过程,还有一个更加贴切的词语叫做构建项目。 Makefile介绍 Makefile 是和 make 命令一起配合使用的。它是开源的构建工具,很多大型项目的编译都是通过 Makefile 来组织的。 安装make centons系统的make安装命令: yum install -y make 工程结构 我这里新建了一个工程,工程目录是这样: image main.go里面的源码如下: image 就多了一个Makefile文件,...阅读全文

博文 2019-04-13 20:34:40 程序员同行者

构建离线Go编程指南---gotour

Google为了更好地推广Go语言,在自己的官网和Appspot上分别搭建了基于浏览器的交互式Go编程指南-gotour,相关网站: gotour—— English Version gotour——中文版本 这个教程非常简单易学,共分三部分: 第一部分主要介绍Go语言的基础概念,包括包、导入、函数、变量、条件、循环、指针、struct、slice、Map、Range等。 第二部分主要介绍方法、接口、Error、Web服务器、图片处理等。 第三部分主要介绍并发、Goroutine、Channel、缓冲Channel、Range和Close、Select等。 每部分都提供大量的例子,所有代码都可以在Web上直接运行。每部分的后面还提供了练习,你可以直接在教程提供的浏览器编辑框里编写代码,点击左...阅读全文

博文 2014-10-04 19:26:18 acmfly

golang根据配置的时间和时区计算定时任务是否到了刷新时间

起因 思路 细化 遗留问题 起因 很多时候我们会碰到这样的需求,每天某个时候需要定时执行某个任务,比如定时发邮件、定时发推送消息等,而这个定时是针对当地时间的,比如每天中午12点发推送消息给玩家提醒可以上线领金币啦。 然而,中国的12点和越南的12点就不是同一个12点,所以需要通过时区计算是否到了该执行任务的时候。 思路 先来看一下如何根据时区计算约定的时间。假设现在需要晚上20点,执行任务,时区为西3时区。首先生成一个格林威治时间的20点 utcTime := time.Now().UTC() targetTime :=time.Date(utcTime.Year(),utcTime.Month(),utcTime.Day(), 20, 0, 0, 0, utcTime.Location(...阅读全文

博文 2016-11-04 14:00:04 changjixiong

基于有道API的命令行词典(golang版)

Godict 近期一直再使用golang语言开发一些工具,相关的后端技术链(golang+orm+postgresql+gin+jwt+logrus)和对应前端的技术链(vue+iview+axios+vue-router)基本已经打通了,项目地址。但是想到除了这一套前后端的东西外,命令行的一些操作也是不可避免的。因此就找到了cobra这个应用广泛的第三方命令行库,并借这个小项目练一下手。 功能 golang天然的带有网络操作的优势,所以直接借用现有的第三方api服务来做一个实用的小工具。首先想到的就是词典翻译,因为这个工具我之前在学习python时就做过一个。 python版本有道词典 既然需要做一个golang版本的有道词典(前期只考虑命令行),那么第一步就需要有翻译接口。 接口获取有两...阅读全文

博文 2019-12-23 12:32:39 qiuzhiqian

使用golang学习算法(1)-排序

前言 终于感觉到算法的重要了。于是打算继续学习下。 其实算法跟语言没有啥关系,用啥语言都可以实现关键是思路,最近正好在学习golang。打算把算法的编写使用golang完成。 没有使用IDE,使用的是sublime2+ golang的插件,然后使用命令行进行编译。 开发效率也不低,也支持语言的自动补齐。 搭建环境【http://blog.csdn.net/freewebsys/article/details/17955255】 学习的参数书,使用《算法导论》,也就是敲敲书上的代码学习下。 1,插入排序 package main func InsertSort(a []int) { for j := 1; j < len(a); j++ { var key = a[j] var i = j -...阅读全文

博文 2014-11-14 10:00:03 xoxoxo

go-tour的安装

首先当然是安装go运行环境,安装方法参看: http://www.cnblogs.com/ghj1976/archive/2013/01/16/2863142.html 一、安装 Mercurial Mercurial 是一个跨平台的分布式版本控制软件。Mercurial主要由Python语言实现,不过也包含一个用C实现的二进制比较工具。Mercurial一开始的主要运行平台是Linux。现在Mercurial已经被移植到Windows、Mac OS X 和大多数类Unix系统中。Mercurial主要由一个命令行程序组成,但现在也有了图形用户界面。 如果你的系统中没有安装Mercurial,你就无法使用hg命令。 http://zh.wikipedia.org/wiki/Mercurial...阅读全文

博文 2014-10-04 19:26:25 ghj1976

SublimeText3搭建go语言开发环境(windows)

SublimeText3搭建go语言开发环境(windows) 下载并解压: Sublime Text Build 3021.zip注册: 尽量不要去破解 安装Package Control 命令行进入SublimeText3的安装目录运行以下命令 cd Data/Packages/ git clone https://github.com/wbond/sublime_package_control.git "Package Control" cd "Package Control" git checkout python3 安装gocode 打开终端,输入以下内容(需要安装git工具,sudo apt-get install git): go get github.com/nsf/goco...阅读全文

博文 2014-10-04 19:26:35 china1