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

用 golang 1.11 module 做项目版本管理

go 1.11 有了对模块的实验性支持,大部分的子命令都知道如何处理一个模块,比如 run build install get list mod 子命令,第三方工具可能会支持的晚一些。到 go 1.12 会删除对 GOPATH 的支持,go get 命令也会变成只能获取模块,不能像现在这样直接获取一个裸包。 可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。 GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。 GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。 GO111MODULE=auto 在...阅读全文

博文 2018-07-30 23:34:50 yesuu

Go中使用动态库C/C++库

最近需要做一些在go中使用动态C++库的工作,经常碰到找不到动态库路径这种情况,所以就花点时间,专门做一下实验来了解Go。 一、示例代码目录结构(假设代码根目录为/home/gdc/cgotest): ----|bin: ----|pkg ----|src --------|main ------------|main.go --------|oidb ------------|hello ----------------|hello.go: ----------------|api.h ------------|lib ----------------|libapi.so 二、代码 api.h文件内容: #ifndef __API_H__ #define __API_H__ void he...阅读全文

博文 2014-10-16 11:00:11 xiaogugood

Go语言(log4go介绍)

今天来介绍一个Go语言中常用的日志第三方包,即log4go。在C++中,有log4cpp,而在Java中,有log4j。 好了,废话不多说,现在就来介绍log4go的使用。在log4go在github上的链接如下 链接:https://github.com/skoo87/log4go 具体用法可以参考examples文件夹,而且配置文件采用JSON的格式。一个典型的例子如下 log.json: { "LogLevel" : "info", "FileWriter" : { "LogPath" : "log-%Y%M%D.log", "On": true }, "ConsoleWriter" : { "On" : true } } main.go: package main import ( ...阅读全文

博文 2015-06-17 23:01:52 ACHelloWorld

说一说go mod

[toc] 说一说go mod 写在前面,我们要切换到go mod吗 go mod是官方力推的go模块依赖管理的工具,有官方的背书,肯定是要用的。go1.13已经默认支持了,所以迟早要切到go mod, 势不可挡。 go mod什么 go mod能管理的依赖包的版本,能保证在不同地方构建,获得的依赖模块是一致的。 没有go mod之前如何管理包依赖 没有go mod之前,有go deps, vendor等方法来解决。 go mod如何工作 go 1.11通过设置环境变量GO111MODULE来决定是否启用 export GO111MODULE=off #关闭go mod export GO111MODULE=on # 开启mod export GO111MODULE=auto # GOPAT...阅读全文

博文 2019-10-19 01:32:43 aside section ._1OhGeD

Protobuf 的 import 功能在 Go 项目中的实践

业务场景 我们会有这样的需求:在不同的文件夹中定义了不同的 proto 文件,这些不同的文件夹可能是一些不同的 gRPC 服务。因为不想重复定义某一个 message,所以其中一个服务可能会用到其他服务中定义的 message,那么这个时候就需要使用到 proto 文件的 import 功能。 接下来说说我在 Go 项目中使用 protobuf 的 import 时所遇到的坑。 案例 首先,我们来创建一个实验项目作为案例,便以说明,结构如下: 文件 go.mod 中声明了该项目模块名 module github.com/xvrzhao/pb-demo,proto 文件夹中含有两个 gRPC 服务,分别为 article 和 user,我们在这两个文件夹中定义各自所需要的 messages 和...阅读全文

博文 2019-12-31 19:32:38 Xavier

Install go1.5 for CentOS7

https://golang.org/doc/install 下载好后,通过FTPS,传递到Linux里去,放哪里随便你自己,因为被墙了,所以在Windows通过旋风下载了这个玩意儿。 你也可以: wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz //将go解压到/opt,个人喜好罢了 [root@localhost ~]# tar -C /opt -xzf ./go1.5.linux-amd64.tar.gz /*在末尾增加一下两行, GOPATH是工作目录, GOROOT表示指出go的根目录位置 ps:在自定义程序的安装位置后,需要设置这个 export GOROOT=/opt/go export PA...阅读全文

博文 2015-08-29 03:00:00 rootarvin

go语言-使用swig转化C++代码为go所用

服务端的某个项目,要考虑到性能问题,之前使用基于公司框架的php,性能有瓶颈,经过调研,决定使用go。因为之前有一个关键模块已经使用c++实现,所以计划使用go做HTTP容器,让go和c++模块结合起来。 在网上调研结合方案,go自带的cgo只支持c语言,swig工具可以支持多种语言结合c++,所以决定使用swig,这里简要叙述下swig的使用和一些发现的要点。 1. 我们解压了swig后,首先要根目录运行configure和make,这样会生成各个子目录的makefile,并在当前目录生成preinst-swig.in和swig可执行文件,这些在后续会拥有。 2. 我们进入Example的go里面,这里有一些值得参考的例子 3. 研究那个class例子,有这几个文件: class.cxx和...阅读全文

博文 2015-06-17 23:01:50 linux4fun

Go http.StripPrefix在File Server中的用途

一. 保持代码的整洁和进行合理的分流 http.StripPrefix函数的作用之一,就是在将请求定向到你通过参数指定的请求处理处之前,将特定的prefix从URL中过滤出去。下面是一个浏览器或HTTP客户端请求资源的例子: /static/example.txt StripPrefix 函数将会过滤掉/static/,并将修改过的请求定向到http.FileServer所返回的Handler中去,因此请求的资源将会是: /example.txt http.FileServer 返回的Handler将会进行查找,并将与文件夹或文件系统有关的内容以参数的形式返回给你(在这里你将"static"作为静态文件的根目录)。因为你的"example.txt"文件在静态目录中,你必须定义一个相对路径去获...阅读全文

博文 2016-12-23 10:00:01 吃一堑消化不良

Windows 平台安装配置Golang语言环境

环境介绍: OS: Windows 7 sp1 Arch:x86_64 Golang Ver:Go 1.4.2 amd64 1、下载Golang语言安装包: Go 由Google于2009年开发释出,一种开放源代码的语言。github: golang/go。可以直接在这上面找到释出的源代码(其实也只是供源代码下载,没有做成安装包),将源代码编译即可使用。也可以找到Go的中文论坛:http://www.golangtc.com/,在这里可以找到Go的windows安装包(.msc)。 这里我使用了Go 1.4.2版本,下载路径:http://www.golangtc.com/download 2、在windows下安装Golang: 下载到.msc安装包后,双击安装即可,傻瓜式安装。 3、配置...阅读全文

博文 2015-12-08 20:00:01 u012842205

使用 IntelliJ IDEA 搭建go语言开发环境,亲测可用

1 安装版本 go1.5 2 下载sdk : 下载地址:http://golangtc.com/download 3 按照提示安装即可 ,放置于D:/Go 目录下 4 下载安装intellj IDEA , 地址:http://www.jetbrains.com/idea/ 5 按照提示安装intellj Idea 6 配置IDEA 的go插件 一种是直接在settings->plugins->intsall jetBrains plugins ->搜索golang ;但是我没有搜到,网上有的说用编译go-lang-plugin 的源码得到jar ,但是我的编译总是出现问题,放弃 我是这样的:我从网上 vcs->check out from version control -> docker ...阅读全文

博文 2015-11-25 22:00:02 rually

sqlite3安装问题

我按照[http://my.oschina.net/Obahua/blog/129689][1] [1]: http://my.oschina.net/Obahua/blog/129689 上的说明下载sqlite-dll-win32-x86-3080200.zip解压到system32文件夹中,然后安装TMD 版的 GCC 编译器tdm-gcc-4.8.1-3.exe在c盘根目录,路径也设置好,最后go get github.com/mattn/go-sqlite3,这是出现错误cc1.exe: error: unrecognized command line option "-fno-stack-protector",运行下实例也是出现这个错误,这是怎么回事啊?请大神帮忙...阅读全文

Notepad++配置Go语言语法高亮

前提是已经安装并配置好了Go语言环境,这里不再赘述。 1.Go语言支持包 如果在Go安装目录中misc文件夹中有notepadplus文件夹,其中有userDefineLang_Go.xml(网上有的写是userDefineLang.xml,我没有见到)这个文件,则直接使用,没有的话就从下面这个地址下载。下载到后,解压会得到两个xml,一个是userDefineLang_Go.xml,一个是go.xml。 http://notepad-plus.sourceforge.net/commun/userDefinedLang/go.zip 2.配置Notepad++ 1).打开userDefineLang_Go.xml,把文件开头和结尾的注释...阅读全文

博文 2015-06-17 23:00:28 change_from_now

go语言Makefile

一般通用形式 include $(GOROOT)/src/Make.$(GOARCH) TARG=mypackage GOFILES=/ my1.go/ my2.go/ include $(GOROOT)/src/Make.pkg 其中GOROOT和GOARCH为环境变量,分别表示go的安装根目录和本机的体系结构 我的设置是 export GOROOT=$HOME/go export GOARCH=386 export GOOS=linux TARG是目标文件 GOFILES是源代码文件列表 如果生成的文件不是lib,是可执行文件,则将上面最后一行中的Make.pkg换成Make.cm...阅读全文

博文 2015-06-17 23:05:44 dux003

ubuntu16.04安装指定版本的Go环境

此教程是为了安装hyperledger fabric的go语言环境。 fabric1.4要求的go语言版本为1.11.x 1. 从Go的下载页面上找到适合于ubuntu16.04版本的安装包 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 在以下列表中,选择go1.11.5.linux-amd64.tar.gz下载 图片.png 在~/下载 目录中,下载该文件 $ wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz 2. 安装Go 下载完成后,解压该文件到/usr/local $ sudo tar -zxvf go1.11....阅读全文

博文 2019-03-10 16:34:40 菜菜不太菜

通过搭建wordpress博客来学习云服务器的详细使用方法

云服务器越来越普及,很多企业及个人都纷纷上云,从传统的虚拟主机或者托管服务器上把网站和应用迁移到腾讯云、阿里云、百度云等这些云服务器上。云服务器相比传统服务器的优势有很多,比如安全性、性价比、稳定性、可用性、便捷性等等各方面,大家可以百度自己了解,我就不在这里多说了。虽然云服务器就这么多的优点,但真正会用,能用好的站长朋友们还不是很多,今天,就由提供阿里云、腾讯云1折秒杀活动的“尊托云数-9i0i.com”带着新手站长们,来通过搭建wordpress博客来学习云服务器的详细使用方法:首先,我们从云服务器的选购开始,建议选择的云服务商:阿里云、腾讯云、华为云、百度云,因为这些大的品牌能让你免除后顾之忧,持续经营你的网站,如下图:在选购云服务器时,有区域、CPU、内存、带宽、系统镜像这几个要素需...阅读全文

golang windows程序获取管理员权限(UAC )

golang windows程序获取管理员权限(UAC ) 在windows上执行有关系统设置命令的时候需要管理员权限才能操作,比如修改网卡的禁用、启用状态。双击执行是不能正确执行命令的,只有右键以管理员身份运行才能成功。 为解决此问题,花了很长时间找了各种方法,最终找到一个简单的方法,双击也能执行成功了。过程如下: 1> Go get github.com/akavel/rsrc 2> 把nac.manifest 文件拷贝到当前windows项目根目录 3> rsrc -manifest nac.manifest -o nac.syso 4> go build nac.mainfest的内容为: 阅读全文

博文 2016-11-19 17:00:01 davidsu33

Golang算法实战之斗地主<一>

逢年过节,回到老家,玩的最多的就是打麻将、斗地主。今天要说的,就是这个经典游戏——斗地主。 一、斗地主牌面分析 斗地主需要多少张牌?大部分人都知道需要一副完整的牌即可,也就是54张牌。 2-10 黑桃、红桃、梅花、方片各4张。 J、Q、K、A 黑桃、红桃、梅花、方片各4张。 大小王各1张。 在斗地主中,牌的花色不影响。所以,在牌面比对时,不需要单独比对花色。而单张牌面值的大小顺序为: 大王>小王>2>A>K>Q>J>10……3 鉴于此,牌面的表达可以用以下方式来规定: A:黑桃 B:红桃 C:梅花 D:方片 扑克原始值 映射值 3-10 3-10数字 J 11 Q 12 K 13 A 14 2 15 小王 Q88 大王 K99 例如: A14----->黑桃A C9----->梅花9 二、如...阅读全文

博文 2018-11-07 06:34:34 皮卡丘pikaqiu

golang 导入自定义结构体、实现接口

项目根目录为mygo,新建go文件,写一个入口函数 package main func main() { } 先新建一个新建model文件夹并新建.go文件(文件名随意无影响),自定义结构体 package people type Info struct { Age int } type People struct { Name string Info Info } func (p People) Getname() string { return p.Name } func (p People) Setname(name string) People { p.Name = name return p } 声明首字母大写可供外部调用 再新建imp文件夹,用来放接口文件,新建.go文件,写一个...阅读全文

博文 2018-07-16 12:34:49 droid_zf

IPFS基本使用

在IPFS新增一个文件 新建test.txt文件 打开终端,切换到桌面,新建一个文件夹test,切换到test中,通过vi新建一个文件test.txt,文件里面输入Hello World保存并且退出。 $ cd Desktop/ $ mkdir test $ cd test/ $ vi test.txt $ cat test.txt Hello World 将test.txt添加到ipfs节点 使用ipfs add命令添加: $ cd Desktop/test $ ipfs add test.txt added QmUXTtySmd7LD4p6RG6rZW6RuUuPZXTtNMmRQ6DSQo3aMw test.txt $ ipfs cat QmUXTtySmd7LD4p6RG6rZW6R...阅读全文

Golang项目Bazel指北

该文档主要介绍 Bazel 构建基本 golang 项目的案例, 主要了解在golang项目中如何使用bazel. 概览 关键文件1. WORKSPACE 在项目根目录,主要用来设置加载bazel环境(包括rules等)以及其依赖。2. BUILD.bazel 存在于根目录以及源文件所在目录,用来标记源文件编译以及依赖情况,一般是自动生成。工具1. rules_go golang的官方rules,定义golang编译逻辑。2. gazelle 用于生成golang build文件的工具。项目构建1. 编辑WORKSPACE # 加载bazel标准库中的函数http_archive load("@bazel_tools//tools/build_defs/repo:http.bzl", "ht...阅读全文

博文 2018-12-09 22:34:43 Yodark

go的卸载与重装(linux系统)

## 前言 我在安装配置(非本人操作)了go的linux虚拟机上,尝试用 `$ go get github.com/astaxie/beego` 获取beego框架。但是,却出现了一个奇怪的错误: `go: cannot find main module; see 'go help modules'` ,怎么查询都没有找到问题原因。这对于一个刚接触go和linux的新手来说,是手足无措的。于是,心生一计,卸载重装。 ## 一、卸载 ### 1.删除GOROOT目录 用 `$ go env` 找到GOROOT目录,在我的linux上为 `srv/go` ,而常见的应该是 `usr/local/go` 。然后,~~使用`$ rm -rf`删除该目录。~~(用这个命令是...阅读全文

博文 2019-02-19 12:39:47 99MyCql

Golang交叉编译

Golang交叉编译 --------------------- 本文在Windows已正确安装Golang环境的情况下进行。Linux下类似操作即可。 要进行交叉编译先需要准备好编译相应平台及系统所需要的环境。 首先有两个用于指定叉编译目标平台的环境变量必要提前了解: GOARCH 目标平台(编译后的目标平台)的处理器架构(386、amd64、arm) GOOS 目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows) 一、准备交叉编译的环境 1.通过控制台进入到该路径下的 D:\Go\src 目录中(假定Golang安装在 D:\Go 路径下)。在该目录中会有一个 make.bat(注:make.bash 可用于linux下) 的批出来文件。 2...阅读全文

golang开发环境搭建

最近由于工作需要,开始接触一门新的语言——golang,Golang是Google开发的一种编译型,可平行化,并具有垃圾回收功能的编程语言。对于熟悉Java的人,在语言习惯方面有部分不适应,个人感觉更像js与C的结合版,慢慢熟悉后会觉得是一门非常棒的语言,速度快,高性能。确实值得去学习了解。 由于公司主要开发是在linux系统下,熟悉的配置还是在linux下,不过也一并把windows的配置简单描述一下。 golang下载地址:www.golangtc.com/download 在这个下载地址中有个下载第三方包的连接,主要是用来下载一些开发需要的依赖包,由于天朝墙的关系,code.google.com上面的很多包没法下载,可以按照这个下载第三方包的界面操作进行下载,是很方便的。 一、wind...阅读全文

博文 2015-09-09 12:00:00 hellth

Go语言(工程和包)

在Go语言中,包是函数与数据的集合,用package定义一个包,包的名字不一定要跟文件名字一样,接下来,将学习如何使用Go语言的包。 首先,我们创建一个Stack包,然后用一个主程序来调用这个包里面的方法。这实际上涉及到Go语言中的工程的分包和编译。Go语言是这么来配置它的工程的,如下图 其中package是工程的根目录,我们需要事先设置环境变量GOPATH,如下 而bin目录和pkg目录是go编译自动生成的,而src是手动创建的。所以创建工程的步骤大致是 (1)进入到package目录,即工程根目录 (2)执行mkdir src,创建一个src源文件存放目录 (3)在源文件目录中创建一个stack包,即mkdir stack (4)再创建一个test包,用于测试stack的功能,此包中为主...阅读全文

博文 2015-04-04 01:00:01 ACHelloWorld

golang笔记:cookie

在同一个问题上栽了两次,以后碰到cookie出问题多半都是因为这个。 Request.Cookie(name)取Cookie的时候,返回值只有name和value cookie.go cookies = append(cookies, &Cookie{Name: name, Value: val}) 可以看到只返回了Name和Value两个值,大概是为了所谓性能吧。于是在拦截器里读取当前Cookie并重设时间的时候,Path和时间值都要重设一下。不然原来根目录下的Cookie还在,而新的Cookie就根据某些规则种到不知道哪里了,还有可能导致退出的时候删不干净。 所以用golang种cookie的时候,除了name和value, 所有其的值都要像新建cookie一样重设一遍重设一遍...阅读全文

博文 2015-10-10 04:00:00 liumuqiu

GO Modules 使用

旧项目迁移,打算使用GO Modules 作为依赖管理。go版本 1.12私人依赖包,如何处理1. 创建模块的目录 ,并伸出go.mod 文件 mkdir modules go mod init modules 2. 创建自己的package目录 如 base module |--- main.go |---go.mod |---base |---testBase.go 其中main.go 的内容 package main import "modules/base" func main(){ base.Test() } testBase.go 的文件内容 package base import "fmt" func Test(){ fmt.Println("Bast Test) } 可以看到...阅读全文

博文 2019-02-28 18:34:42 起名好难_b30f

Golang modules 初探

今天天色刚刚亮起,起床看到golang 1.11正式发版了,有着两个重要的特性:modules和WebAssembly。 本博文只要说的是modules,congJava转golang的同学肯定是对golang的包管理充满了无奈之情,我也曾在博客中介绍过glide,也介绍过dep,现在我们再一次升级介绍modules。 什么是modules 现在都在说modules,那么它是什么? 到文档看看 Modules, module versions, and more: A module is a collection of related Go packages. Modules are the unit of source code interchange and versioning. Th...阅读全文

博文 2018-09-01 14:23:12 梦朝思夕

使用SWIG桥接Golang和Windows DLL

最近看了下Go语言,利用Dynamsoft Barcode SDK做了一个简单的Golang条形码扫描。这里分享下如何使用SWIG来快速封装底层C/C++接口。 参考原文:How to Use SWIG to Link Windows DLL with Golang 作者:Xiao Ling 翻译:yushulx 下载安装 mingw-w64 SWIG Go Dynamsoft Barcode Reader 如何使用SWIG实现Cgo封装 运行cmd.exe,设置GOPATH: set GOPATH=f:\go-project set DBR= 创建一个package: mkdir %GOPATH%\src\github...阅读全文

博文 2016-01-16 13:00:02 yushulx

golang 安装自己的package

go 程序的入口函数是main package下面的main函数。当他需要调用其他package时,就会去GOROOT下面找对应的package。如果希望程序能找到我们自己开发的package 就需要将它也放到goroot下面,具体步骤如下: 首先在 go 的安装根目录下面创建对应的package路径 将对应的go文件copy到第一步所建立的目录下面 执行go install packagename $ mkdir ~/go/src/aPackage $ cp aPackage.go ~/go/src/aPackage/ $ go install aPackag...阅读全文

博文 2018-07-03 19:34:43 币来币往

evans 测试grpc请求

evans 测试grpc 安装 evans地址 $ brew tap ktr0731/evans $ brew install evans 使用: 进入到工程目录 proto的schema根目录 /Users/chelsea/go/src/golang.******.com/xxx/protubuf-schema evans --port="项目端口号" proto/finance/service/xxx/xxxx.go package package lego service service lego call call 方法名称 eg:call PushInfo 输入相应参数 如果是repeated数组格式,可以ctrl+d 跳...阅读全文

博文 2018-10-08 19:34:42 super大橙子

用golang实现基于DFA算法编写的敏感词汇检测插件

SensitiveWordsGetgithub地址: https://github.com/TomatoMr/SensitiveWords.git或者go get github.com/TomatoMr/SensitiveWordsIntroductionSensitiveWords是基于DFA算法编写的敏感词汇检测插件,可独立部署,也可以集成到项目中.Usage独立部署1. 复制配置文件cd configcp config.toml.example config.toml2. 构建二进制包go build3. 使用方法-restart:restart your http server, just like this: -restart or -restart=true|false.-sta...阅读全文

博文 2018-06-25 21:34:49 MRTOMATO_7084

比特币挖矿机开发(三)【go语言学习】

这里讲一下project A的开始代码。同时测试代码也会给你的操作评分评等级。还有文件里的两个简单输出,服务器和客户端(分别在srunner 和 crunner里)可以帮你测试自己的代码是否按照要求运行。注意,上面的这些代码和指令都是假设你把go语言的路径设定在根目录“p1”下的。 如果你有任何建立,安装和测试文件的问题,http://golang.org/doc/code.html可以去这里看看“ How to Write Go Code”。这是一个学习go工作区运行和组织语言的一个好资源。还有,这个关于go语言的命令学习资源也很有用。“http://golang.org/cmd/go/” 现在我们开始学习怎么写go语言: 直接讲文字太虚,我先贴一段go语言的helloworld pack...阅读全文

博文 2014-10-07 20:00:00 modiziri

HTTP 抓包工具 netgraph

netgraph 是一个 Go 语言编写的跨平台的 B/S 架构的 HTTP 抓包工具,方便在 Linux 服务器上直接查看 HTTP 包。 [![截图](https://raw.githubusercontent.com/ga0/netgraph/master/screenshot.png)](https://raw.githubusercontent.com/ga0/netgraph/master/screenshot.png) 请确保你的浏览器支持 websocket。 ### 编译,安装,运行

  1. go get github.com/ga0/netgra...阅读全文

开源项目 2015-11-11 16:00:00 ga0

golang生成目录嵌套json使用jstree显示

目的:在浏览器上浏览电脑指定目录。 技术:golang,jstree 1. golang生成jstree识别的json 1.1 使用”io/ioutil”读取指定目录 fileinfos, err := ioutil.ReadDir(dirpath) if err != nil { log.Println("ReadDir error!" + dirpath) } 1.2 使用”encoding/json”生成json数据 type treestate struct { Opened bool `json:"opened"` Disabled bool `json:"disabled"` Selected bool `json:"selected"` } type filetree stru...阅读全文

博文 2016-02-10 01:00:09 qdudz

go源代码根目录结构

go源代码根目录结构 |– AUTHORS — 文件,官方 Go语言作者列表 |– CONTRIBUTORS — 文件,第三方贡献者列表 |– LICENSE — 文件,Go语言发布授权协议 |– PATENTS — 文件,专利 |– README — 文件,README文件,大家懂的。提一下,经常有人说:Go官网打不开啊,怎么办?其实,在README中说到了这个。该文件还提到,如果通过二进制安装,需要设置GOROOT环境变量;如果你将Go放在了/usr/local/go中,则可以不设置该环境变量(Windows下是C:\go)。当然,建议不管什么时候都设置GOROOT。另外,确保$GOROOT/bin在PATH目录中。 |– VERSION — 文件,当前Go版本 |– api — 目录,...阅读全文

博文 2016-04-17 09:00:00 qq_15437667

GB(一)

gb go语言基于项目的编译工具 1. 安装 1.1 约束 gb 依赖Go1.4以上版本 1.2 安装 通过以下命令安装 go get github.com/constabulary/gb... 1.3 升级 gb 依然处于开发状态,通过以下命令升级到最新版本 go get -u github.com/constabulary/gb/... 1.4 多版本go的情况 对每一个go版本都安装gb 1.5 注意 安装完毕后的gb命令和oh-my-zsh配置的 git branch 简写命令有冲突,采用 ~/.zshrc中 unalias gb 来屏蔽 2. 项目 gb基于项目。一个gb工程为一个编译单元,每个gb工程目录含有一个src/子目录,没有配置文件的设置,以下文档我们统称工程的目录为$P...阅读全文

博文 2017-02-09 06:00:24 0zaki1sc

go环境配置

第一步:下载go1.4.1.windows-amd64.msi默认安装好,添加bin路径到classpath 第二步:新建文本保存以下代码,放到C盘根目录,命名为test.go package main import "fmt" func main() { fmt.Println("Hello, World!") } 第三步:测试配置是否成功. Hello,World!配置成功...阅读全文

博文 2015-04-22 08:00:00 Junmay

Golang Module 帮助文档翻译

备注:本猿翻译水平有限,请各位看客见谅 翻译内容: go1.11 版本中 go help modules文档内容 总述 模块是Go Packages关联的集合,是源代码交换和版本控制的单元。 Go命令直接支持使用模块,包括记录和解决对其他模块的依赖。 模块取代了传统的基于GOPATH的方法来指定在给定的构建中使用哪个源文件。 模块的初级支持 Go 1.11包含了对Go Module的初级支持,包括一个新的感知模块命令“go get”。我们打算继续修正这一支持,并同时保持兼容性,直到它可以被宣布为正式版本(不再是初级版本)。在之后的版本,我们会移除对GOPATH和旧的“go get”命令的支持。获得最新Go 1.11 Module技术支持的最快途径是将你的代码仓库check out到GOPAT...阅读全文

博文 2019-02-15 10:34:44 星云数联

go的卸载与重装(linux系统)

前言 我在安装配置(非本人操作)了go的linux虚拟机上,尝试用 $ go get github.com/astaxie/beego 获取beego框架。但是,却出现了一个奇怪的错误: go: cannot find main module; see 'go help modules' ,怎么查询都没有找到问题原因。这对于一个刚接触go和linux的新手来说,是手足无措的。于是,心生一计,卸载重装。 一、卸载 1.删除GOROOT目录 用 $ go env 找到GOROOT目录,在我的linux上为 srv/go ,而常见的应该是 usr/local/go 。然后,使用$ rm -rf删除该目录。(用这个命令是不可能的,这辈子都不可能用的,这个命令删除文件真香)我不建议这样删除,因为与Wi...阅读全文

博文 2019-02-20 12:34:41 99MyCql

忘掉GOPATH,迎接Go modules,进入Go项目依赖库版本管理新时代

Go SDK 1.13测试版马上就要发布了。从此版本开始,Go modules依赖库版本管理特性将正式开始推荐使用。本文将解释一些和Go modules相关的一些命令和概念。 Module(模块)定义为一些Go代码包的集合。通常体现为一个含有若干代码包的目录。每个模块可以发布一系列版本。版本号使用semver(语义化版本)表示。一个模块可能依赖于其它若干模块;准确说来,是依赖于其它若干模块的各自的某个具体版本。每个模块可以在自己的根目录下的go.mod文件中指定其所依赖的各个模块的具体版本。 如果你所维护的某个模块尚未使用Go modules管理依赖,你可以打开一个命令行终端,进入此模块根目录,运行下面这条命令将此模块转换为一个使用Go modules管理依赖的模块。 go mod init...阅读全文

博文 2019-05-23 07:34:47 liulaomo

第一个go程序

1)建立运行环境 版本:Go 1.3 beta 1 下载地址:https://code.google.com/p/go/wiki/Downloads 选择自己操作系统的版本,建议下载安装版本,不推荐ZIP,按默认步骤安装,这样程序会帮助我们添加环境变量。 2)编写第一个程序 hello.go package main import "fmt" func main() { fmt.Printf("hello") } 注意:go的花括号不能随便放置 姑且将hello.go文件放置D盘根目录 3)测试 运行cmd D: go run hello.go 4)结果 hell...阅读全文

博文 2015-06-18 09:01:04 wow4464

Golang modules 初探

今天天色刚刚亮起,起床看到golang 1.11正式发版了,有着两个重要的特性:modules和WebAssembly。 本博文只要说的是modules,congJava转golang的同学肯定是对golang的包管理充满了无奈之情,我也曾在博客中介绍过glide,也介绍过dep,现在我们再一次升级介绍modules。 什么是modules 现在都在说modules,那么它是什么? 到文档看看 Modules, module versions, and more: A module is a collection of related Go packages. Modules are the unit of source code interchange and versioning. Th...阅读全文

博文 2018-08-27 00:35:54 梦朝思夕

Go1.11 module 简明使用指南

Go Mod 命令 download download modules to local cache (下载依赖的module到本地cache)) edit edit go.mod from tools or scripts (编辑go.mod文件) graph print module requirement graph (打印模块依赖图)) init initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件)) tidy add missing and remove unused modules (增加丢失的module,去掉未用的module) vendor make vendored co...阅读全文

博文 2019-01-23 11:34:45 柳浪闻笛

golang-go获取第三方依赖

# 在项目目录下,执行 # 获取想要的依赖 go get xxxxxxxxx 但是获取gethub上的可以成功,国外的确实失败 那么就可以使用一个工具 gopm 先要获取 gopm go get -v github.com/gpmgo/gopm 然后通过 gopm 获取第三方依赖 gopm get -g -v [-u] xxxxxxx ================= 分割线 ==================== 如果需要编译到 bin 目录 和 产生 pkg 可执行文件 go install xxxxxxx(第三方项目的根目录) 表示编译后在放到bin目录下 # 如果需要编译 go build xxxxxxxx # 直接编译运行 go run # 产生可执行文件 go install...阅读全文

博文 2019-12-17 22:32:44 爱吃豆包

sublime Text2:go环境配置

1.安装 http://blog.csdn.net/love_se/article/details/7754274 2.Go编译配置:Tool=>Build System=>Go,然后就可以按ctrl+B或者F7编译了 3. GoCode提示问题: 如果没有把当前的工程目录设置成gopath那么gcode提示会有问题,主要表现为:无法自动提示当前工程里其他package的内容 解决方法: 把下面脚本放到工程的根目录,用这个启动工程 (注:start C:\Users\lenovo\Dropbox\golang\Sublime\sublime_text_cracked.exe换成你自己的sublime的路径即可) set PROMPT=$g$s set GOPATH=%~dp0 mkdir "...阅读全文

博文 2015-06-17 20:12:48 varding

2018-07-23

0702 历史性的一天。一大早坐在小铁的电动车后座上,我到了公司最后一次打卡,吃了一份早餐,去了一趟工位,看了一眼esp和w3,拿到离职证明后,刚毕业的这一年终于尘埃落定。从上海到杭州的距离很短动车也很快,我从初入社会的青涩到如今的渐渐成熟,却已经走了不少弯路、花费了一年时光。新公司的技术氛围很棒,有着理想的工作场所,中等规模正好适合混迹社会不久的我。随着各行各业都重视IT技术,服务器端、网络层的开发必然有很大的市场需求,所以在这个领域做到精通,将会让我达到新的人生高度。 0703 我昨天回家后,搬行李上楼、打扫、整理归类,一整个晚上都待在房间里;疲惫困顿却充实不已,果然新环境带来的兴奋感,可以抵消很多的辛酸和不快。另外杭州的消费水平确实不低,今天早、中、晚三顿饭吃下来,6+23+16=45...阅读全文

博文 2018-07-23 18:34:46 brightsunp

关于go module的使用

在go1.11版本以后go modules成为了go官方的依赖管理方式,替换一起的Godep。使用go modules管理依赖后会在当前的项目根目录下生成go.mod和go.sum. go.mod 在其中记录当前的项目的所有依赖,文件格式如下: module go-demos go 1.13 require github.com/x-mod/routine v1.2.7 或 module go-demos go 1.13 require ( github.com/x-mod/routine v1.2.7 ) replace ( // 针对有些被墙不能下载 可以替换成其他依赖包 golang.org/x/text v0.3.0 => github.com/golang/text v0.3.0 ...阅读全文

博文 2019-12-26 14:32:51 神奇的考拉

go mod 使用

简介 go 1.11以后提供了新的管理依赖的方式, 使得管理依赖,尤其是依赖版本更加的明确且易于管理, 这种方式就是go mod 在项目的根目录有个go.mod的文件, 文件的内容是所有依赖的go package的集合, 以文件树的形式存在. 文件中中明确的说明了go所有依赖的路径及版本 配置 # 这三个路径一直存在 export GOPATH=$HOME/go export GOROOT=/usr/local/go export GOBIN=$GOPATH/bin # 支持 go mod 需要配置如下两个选项 # 开启go mod export GO111MODULE=on # 配置go mod使用的依赖库代理服务器 export GOPROXY=https://goproxy.io 创建...阅读全文

博文 2020-04-06 21:32:56 allenhaozi

Notepad++配置Golang关键字高亮

1.Go语言支持包下载到后,解压会得到两个xml,一个是userDefineLang_Go.xml,一个是go.xml。http://notepad-plus.sourceforge.net/commun/userDefinedLang/go.zip2.配置Notepad++1).打开userDefineLang_Go.xml,把文件开头和结尾的注释取消掉。2).把userDefineLang_Go.xml拷贝到Notepad++的安装目录,我是放到了根目录。把go.xml拷贝到Notepad++安装目录下的 plugins\APIs 下面。3).打开Notepad++,在菜单栏中选择语言 -> 自定义语言。在弹出的对话框里点击Impor...阅读全文

博文 2018-06-27 12:34:47 々菰單