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

在ubuntun虚拟机里安装goLang语言编程环境

Go语言是谷歌2009发布的第二款开源编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。 2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%, 投入在该项目上。除了派克外,该项目的成员还有其他谷歌工程师也参与研发。 本文介绍如何在ubuntu操作系统下面安装goLang。 首先用工具curl下载goLang的安装包: sudo curl -O https://storage.googleapis.co... 然后将下载好的安装包,一个压...阅读全文

19.蛤蟆笔记go语言——使用Mysql驱动

19.蛤蟆笔记go语言——使用Mysql驱动 MySQL驱动 Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,如下: https://github.com/Go-SQL-Driver/MySQL 下载得到 mysql-master.zip压缩包,解压包含需要的go文件。 创建库和表 create database test; CREATE TABLE `userinfo` ( `uid`INT(10) NOT NULL AUTO_INCREMENT, `username`VARCHAR(64) NULL DEFAULT NULL, `departname` VARCHAR(64) NULL DEFAULT NULL, `...阅读全文

博文 2016-08-23 11:00:55 notbaron

go语言使用grpc的步骤

grpc提供了很好的rpc远程过程调用功能,封装了中间环节,让使用rpc的客户服务端只需要关注自己的业务即可。 go语言下使用gprc的步骤如下: 1、安装go语言 go语言的安装不再详述,具体参见:https://golang.org/doc/install grpc需要在go语言1.5或以上版本工作 2、安装grpc 安装好go语言后,调用如下: $ go get google.golang.org/grpc 3、安装 Protocol Buffers v3 到https://github.com/google/protobuf/releases下下载对应平台和版本(protoc--.zip)的压缩包或安装包,解压到你自己的目录下,同时将目录下的bi...阅读全文

博文 2016-09-03 07:00:10 sky101010ws

windows7 下搭建golang开发环境

一、golang的安装和环境变量的设置 1、golang安装包下载和安装 到golang官网下载最新版的安装包go1.6.3.windows-amd64.msi,下载之后直接运行安装,安装路径就使用它默认的 C:\Go\ 即可,之后一路 Next 并完成安装。 2、golang环境变量设置 golang需要配置GOROOT, GOPATH,Path三个环境变量。 如果第一步安装时使用默认安装路径C:\Go\ , 那么安装程序就已经将 GOROOT 和 Path 两个环境变量设置好了,无须再对其进行手工设置。 如下图: GOPATH是后续代码目录,新建系统变量 GOPATH,将其指向你的代码目录, 如下图: 验证golang是否安装成功: 打开cmd命令行窗口, 输入go env。 输出如下图...阅读全文

博文 2016-09-04 15:00:04 yongche_shi

Go 1.12中值得关注的几个变化

Go team如期在2月末发布了Go 1.12版本。从Go 1.12的Release Notes粗略来看,这个版本相较于之前增加了go modules机制、WebAssembly支持的Go 1.11,变化略“小”。这也给下一个Go 1.13版本预留了足够的“惊喜”空间:)。从目前的plan来看,Go 1.13很可能落地的包括:Go2的几个proposals:Go 2 number literals, error values和signed shift counts等,以及优化版Escape Analysis等。 言归正传,我们来看看Go 1.12版本中值得我们关注的几个变化。 一. Go 1.12的可移植性 Go 1.12一如既往的保持了Go1兼容性规范,使用Go 1.12编译以往编写的遗留...阅读全文

博文 2019-03-10 22:09:18 bigwhite

go语言学习道路1-学习前

确切的说从去年开始就知道go语言的存在,那个时候只是知道他这个名字的存在。具体感兴趣是今年的8月份跟一个同事的交流。于是开始进行学习,go语言可以说就是针对服务器开发的语言(暂时还没有看到google提供基于GUI开发方面的包,未来不排除会提供),具有余下的优势: 1:编译性的语言,这个相对于脚本性语言效率的优势 2:GC机制,这个又有了高级语言的优势,不用担心内存泄露。(GC机制是需要消耗资源的,所以这也是性能的瓶颈) 3:丰富的包资源和成熟的开源项目,这个可以在github上面查找。 4:协程,这个会在后面详细说明一下 开发平台: 这个暂时使用windows平台开发,开发工具为:mingw + liteIde + go安装包(还有eclipse 的go插件,但是这个我没有配置好) 安装顺...阅读全文

go环境配置

windows: 下载压缩包(32位或者64位) 解压到c盘 打开系统环境变量,新建环境变量。 GOROOT = C:\go GOPATH = D:\gowork //这个是你的go工程存放的目录 在系统path后面添加go.exe的路径 C:\go\bin 安装liteide,打开查看--编辑当前环境: # native compiler windows 386 GOROOT=c:\go GOBIN=c:\go\bin GOARCH=amd64 GOOS=windows CGO_ENABLED=1 #GO15VENDOREXPERIMENT=1 #PATH=c:\mingw32\bin;%GOROOT%\bin;%PATH% LITEIDE_GDB=gdb LITEIDE_MAKE=min...阅读全文

博文 2016-09-02 14:00:02 skylzc

Golang包——net/http

import ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" ) type UserInfo struct { ApiKey string `json:"apiKey"` UserId string `json:"userId"` } type Perception struct { InputText map[string]string `json:"inputText,omitempty"` InputImage map[string]string `json:"inputImage,omitempty"` SelfInfo map[string]*RequestLocation `json:"selfInfo,omitemp...阅读全文

博文 2018-08-23 21:34:59 巴翔

19.蛤蟆笔记go语言——使用Mysql驱动

19.蛤蟆笔记go语言——使用Mysql驱动 MySQL驱动 Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,如下: https://github.com/Go-SQL-Driver/MySQL 下载得到 mysql-master.zip压缩包,解压包含需要的go文件。 创建库和表 create database test; CREATE TABLE `userinfo` ( `uid`INT(10) NOT NULL AUTO_INCREMENT, `username`VARCHAR(64) NULL DEFAULT NULL, `departname` VARCHAR(64) NULL DEFAULT NULL, `...阅读全文

博文 2016-09-15 02:00:04 notbaron

vapor跨链交易和投票(PC版上)

比原链bysatck开放平台底层依托的侧链测试网络正式上线,该链是bytom的侧链(vapor),它的诞生主要为了提升Bystack的效率以及服务于垂直领域的应用。它全新的混合共识算法和高性能成为他最大的亮点和核心优势。目前基本的开发工作已经完成可以正式对外公测,广大社区开发者和爱好者可以体验跨链交易,共识投票等!下面我们来看一下如何是用跨链交易和进行侧链的共识投票!第一步: 首先是搭建侧链的测试节点源码搭建golang语言环境安装,参考: http://www.runoob.com/go/go-environment.html。github地址:https://github.com/Bytom/vapor,然后参考readme.md文件进行搭建侧链节点.命令:make installvap...阅读全文

博文 2019-07-18 18:02:51 燃烧的红叶枫

基于以太坊的DPOS实现(一)源码及测试运行

源码 GitHub地址 https://github.com/TTCECO/gttc 测试运行 安装环境 开始之前请先确认已经安装配置好Go语言环境,安装包可以从https://golang.org下载,如果连不Go的官网请自行百度下安装包。gttc现在支持Go版本为 1.9.x、1.10.x 及1.11.x。 $ go version go version go1.11 darwin/amd64 下载gttc $ go get github.com/TTCECO/gttc $ cd $HOME/go/src/github.com/TTCECO/gttc # 如果安装Go时,自己指定了GOPATH,则 $ cd $GOPATH/src/github.com/TTCECO/gttc 国内用go...阅读全文

博文 2018-09-27 15:34:51 豆包爹

01_环境的配置

当然是去官网下载golang的安装包 如果因为官网网速的问题上不了,或者可以使用翻墙软件, 或者到go语言中文社区 https://studygolang.com/dl 下载相应版本的golang安装包 安装过程是傻瓜式安装,golang会自动开启一个gopath添加到系统变量中 在命令行工具使用 go version 查看go的版本 可以使用 godoc -http=:8080 开启一个本地api文档 GOPATH下需要建立3个文件目录 bin 储存编译后的 可执行文件 pkg 储存编译后的生成的包 src 存放项目源码的地方 go get 获取远程包需要安装git或者hg go run 直接运行程序 go build 测试编译程序 go fmt 格式化代码 go install 编译报文...阅读全文

博文 2018-07-31 21:01:53 KenNaNa

三方对接心路历程

从业这几年,因业务的需要,对接过不少三方,有大公司也有小公司,其中感受颇多,这里回顾以及总结一下。 初入职场即与某大型X公司进行业务对接,其实很简单,我只需将公司内部数据提供一个接口给对方调用即可,然而没想到跟我对接的人疑似为对方公司的运营类人员,我按照对方要求完成接口开发,并顺利提供给对方使用,后来对方找到我们说是还需要接口提供其它字段云云,后因公司之间的一些博弈不了了之了,这件事给我的印象是: 对接首先要保证按需要完成,但如果能站在对方角度,提前发现,对接一些问题,想必也会减少不少麻烦。 后与大型跨国S公司进行业务对接,真颠覆了我对大公司的想象:文档给的是有,但是服务器接口不通,接口定义不完整,看起来像是基于某某语言的接口定义,微信、电话、邮件沟通,真是巨慢,骨子里透露着大公司的傲慢,我...阅读全文

博文 2018-11-24 19:34:41 wu_sphinx

win下尝试golang

1. Go 语言 SDK 安装包下载和安装 最新稳定版 1.5.3 安装包 go1.5.3.windows-amd64.msi下载地址 https://golang.org/dl/,大小约 69 MB(作者上传了一份该版本安装包到 CSDN 资源,嫌国外网速慢可以去下载:http://download.csdn.net/detail/defonds/9408855),下载之后直接运行安装,安装路径就使用它默认的 C:\Go\ 即可,之后一路 Next 并完成安装。 2. Go 语言环境变量设置 Go 语言需要配置 GOROOT 和 Path 两个环境变量:GOROOT 和 GOPATH。 2.1 根目录 GOROOT 和 Path 如果第一步安装使用的是默认安装目录 C:\Go\,那么安装程...阅读全文

兄弟连区块链入门教程以太坊源码分析hashimoto源码分析(一)

兄弟连区块链入门教程以太坊源码分析hashimoto源码分析(一),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。Hashimoto :I/O bound proof of workAbstract: Using a cryptographic hash function not as a proofofwork by itself, butrather as a generator of pointers to a shared data set, allows for an I/O boundproof of work. This method of pr...阅读全文

博文 2018-10-24 14:34:41 兄弟连区块链培训

怎么计算网络包的校验和

这是一家公司出的面试题, 对其中接收数据包时的校验和部分的计算不太明白, 怎么计算这部分。 ------------------------------------- 0 4 8 12 +--------+--------+------+=============+ |SEQUENCE|CHECKSUM|LENGTH| DATA | +--------+--------+------+=============+ SEQUENCE 数据包序号(大端序) CHECKSUM (校验和) ...阅读全文

第一篇 go开发环境搭建

1. 安装Go a. 打开网址https://golang.org/dl/ b. 根据操作系统选择对应的安装包 c. 点击安装包进行安装(linux直接解压) d. 设置环境变量(linux) 1. export GOROOT=$PATH:/path/to/go/ 2. export PATH=$PATH:$GOROOT/bin/ 3. export GOPATH=/home/user/project/go e. 设置环境变量(window不用设置) 2. IDE搭建(vscode) a. 打开网址:https://code.visualstudio.com/ b. 根据操作系统选择对应的安装包 c. 点击安装包进行安装(linux直接解压) d. 选择查看-》扩展-》搜索go,安装第二个 ...阅读全文

博文 2019-05-31 21:34:49 茶园诗语

Golang解决TCP粘包拆包问题

什么是粘包问题 最近在使用Golang编写Socket层,发现有时候接收端会一次读到多个数据包的问题。于是通过查阅资料,发现这个就是传说中的TCP粘包问题。下面通过编写代码来重现这个问题: 服务端代码 server/main.go func main() { l, err := net.Listen("tcp", ":4044") if err != nil { panic(err) } fmt.Println("listen to 4044") for { // 监听到新的连接,创建新的 goroutine 交给 handleConn函数 处理 conn, err := l.Accept() if err != nil { fmt.Println("conn err:", err) } e...阅读全文

博文 2019-07-08 10:34:22 短路的鲍勃

自动化部署工具Syncd v1.1.0发布,提供二进制安装包

Syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率。 项目地址(Github) 项目地址(Gitee) 下载地址 v1.1.0 使用文档 特性: Go语言开发,编译简单、运行高效 Web界面访问,交互友好 灵活的角色权限配置 支持Git仓库 分支、tag上线 部署hook支持 完善的上线工作流 邮件通知机制 更新内容 安装脚本通过go env获取GOPATH #8 utf8 to utf8mb4 #13 支持go modules #4 压缩登录背景图 #5 添加服务器支持填入域名 #3 解决没有添加集群的时候添加项目出错 #7 提供二进制安装...阅读全文

博文 2019-01-16 09:34:42 dreamans

跟我一起学习GO语言06-01

前面写过关于深度拥抱区块链文章,区块链开发语言GO,被称为互联网时代的C语言,接下来我会以一个初学者的方式,由浅入深的介绍同时也会有搭配相应的代码,一步一步的学习GO语言,都说技多不压身,所以希望大家也一起践行,践行很重要。 首先我们要安装Go语言的开发包,根据自己的需求可以下载不同的对应平台的安装包,当然Go语言不管是在Windows平台、Mac平台还是Linux平台上都是支持的,这个无需担心不支持的情况,下载网址:https://studygolang.com/dl,可以到golang中国上查找相关资料也可以,网址:https://www.golangtc.com/ 下载好自己对应的版本,然后安装,因为占用空间不是很大,所以可以直接默认下一步下一步的推荐安装即可,接下来就是搭建开发环境,...阅读全文

博文 2019-06-01 13:34:41 搬砖人1314

Go 语言基础--简介&快速开始

Go 是一个比较新的开源语言,2007年由Robert Griesemer, Rob Pike, Ken Thompson主持开发,09年11月开源,12年的时候发布了Go的稳定版本,就现在来看Golang的社区是非常活跃的,并且有很多的大型互联网公司开始使用Golang,总体来说 Golang 是一个充满潜力但现在生态还不是很完备的年轻的语言。 Golang 就当前使用较广的一些语言对比来看: 1、golang 更加的简洁、开发效率更高 2、天然的并发性 3、优秀的内存管理 4、相对于其他编译型语言,编译速度更快 5、性能较高且稳定 我本身是一个Java 程序员,从Java 的角度来对比看Golang的话,Golang具有 更加丰富的内置类型、匿名函数&闭包、更高性能&开发效率的并发特点、...阅读全文

博文 2019-07-10 23:02:46 邹志全

linux-crontab

最近,需要在linux中使用定时任务。cron就是计划任务的意思。crontab是类unix系统中的一种操作定时任务的指令。也就是说cron是系统的定时任务,crontab是cron的命令。 使用命令查看是否有crontabs安装包(前提是rpm已经安装): rpm -qa|grep crontabs 启动、停止等cron服务: cd /usr/sbin cron start cd /usr/sbin cron stop cd /usr/sbin cron restart cd /usr/sbin cron reload 查看当前是否有定时任务: crontab -l 新增一个定时任务: crontab -e 列如: */1 * * * * /mnt/go/src/douyin-demo/s...阅读全文

博文 2018-09-05 20:34:41 卡萨布兰卡ginger

Go VsCode安装

记录一下安装过程中有些包无法下载的解决办法 步骤: 1.在%GOPATH%\src\目录下,建立golang.org文件夹,并再新建x文件夹。 目录为为"%GOPATH\src\golang.org\x" 2.进入目录%GOPATH\src\golang.org\x\下,开始下载插件包: git clone https://github.com/golang/tools.git tools 3.下载完,%GOPATH\src\golang.org\x\下回有一个tools文件夹 一个个手动的执行下载失败的插件... 安装goreturns git clone https://github.com/sqs/goreturns.git , 然后再把里面的内容全部复制到 github.com\sq...阅读全文

博文 2019-07-25 02:32:38 可能我撞了南墙才会回头吧_

go语言学习道路1-学习前

确切的说从去年开始就知道go语言的存在,那个时候只是知道他这个名字的存在。具体感兴趣是今年的8月份跟一个同事的交流。于是开始进行学习,go语言可以说就是针对服务器开发的语言(暂时还没有看到google提供基于GUI开发方面的包,未来不排除会提供),具有余下的优势: 1:编译性的语言,这个相对于脚本性语言效率的优势 2:GC机制,这个又有了高级语言的优势,不用担心内存泄露。(GC机制是需要消耗资源的,所以这也是性能的瓶颈) 3:丰富的包资源和成熟的开源项目,这个可以在github上面查找。 4:协程,这个会在后面详细说明一下 开发平台: 这个暂时使用windows平台开发,开发工具为:mingw + liteIde + go安装包(还有eclipse 的go插件,但是这个我没有配置好) 安装顺...阅读全文

博文 2016-09-05 10:00:08 tongdajiu

golang modules

本文使用go的版本 go1.13 ,使用的系统为 macos go modules 使用 go mod init hello ##初始化 go run hello.go ##运行项目搞定 使用go modules 不需要讲想法放大GOPATH下的src中并且只需要在项目的根目录执行 go mod init 模块名称,然后开始写代码,最后执行 go run hello.go go会自动下载项目依赖的第三方的包。简直太方便了。 下载之后的包放哪里了? 使用 go mod 依赖的包并没有放在项目的 vendor 中 ,而是放在了$GOPATH/pkg/mod中 如果go run 的时候特变慢可以先 export GOPROXY="https://goproxy.io" 添加代理,然后在重新执...阅读全文

博文 2019-09-18 18:02:38 曹飞龙

golang基础学习-time包常用函数学习

1.简介 Golang基础学习-time包的学习. 2.代码 package main import ( "time" "fmt" ) func main() { //获取毫秒 fmt.Println(time.Microsecond) //获取月 fmt.Println(time.Month(1)) //当前时间 fmt.Println(time.Now()) fmt.Println(time.Now().String()) //当前时间-小时 fmt.Println(time.Now().Hour()) //当前时间unix时间戳since 1970 -1- 1 fmt.Println(time.Now().Unix()) //当前时间unix时间戳(nanoseconds),since...阅读全文

博文 2018-05-26 15:34:38 wmm369

在Eclipse中使用Gradle开发web3j以太坊应用

在我们的[web3j](http://xc.hubwiz.com/course/5b2b6e82c02e6b6a59171de2?affid=76studygolang)以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。 我们将分为6个步骤来介绍如何在Eclipse中使用Gradle项目开发web3j以太坊应用: 1. 安装Gradle工具 2. 安装Eclipse的Gradle插件 3. 创建Gradle项目 4. 配置Gradle项目 5. 创建演示类代码 6. 运行仿真器和演示代码 ## 1、安装Gradle 官网下载最新的< ahref="https://services.g...阅读全文

博文 2018-07-06 16:26:40 hubwiz

GO中 TCP 的receivebuffSize sendBufSize 第一次偶尔失效

```go tcpAddr, err := net.ResolveTCPAddr("tcp4", "localhost:8080") fmt.Println(err) server, e := net.ListenTCP("tcp", tcpAddr) fmt.Println(e) for { conn, _ := server.AcceptTCP() util.SetTCPOption(conn) } ``` ```go tcpConn := conn.(*net.TCPConn) tcpConn.SetNoDelay(false) tcpConn.SetWriteBuffer(30000) tcpConn.SetRe...阅读全文

GoLang 开发笔记

1.工具包: json: https://github.com/bitly/go-simplejson/blob/master/simplejson.go https://github.com/bitly/go-simplejson.git struct to map https://github.com/fatih/structs go get github.com/fatih/structs UUID https://github.com/satori/go.uuid go get github.com/satori/go.uuid oauth2 https://github.com/golang/oauth2 go get golang.org/x/oauth...阅读全文

博文 2017-03-05 19:46:11 cowkeys

VSCode安装go语言开发环境,go插件问题解决

在安装go插件时,会自动更新很多依赖库文件,都是从Github更新下来,但是因为Github的文件中,多有应用go官网中的文件,导致,因为网络缘故,不能直接下载,导致安装失败,如下: Installing github.com/nsf/gocode SUCCEEDED Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED Installing github.com/ramya-rao-a/go-outline FAILED Installing github.com/acroca/go-symbols FAILED Installing golang.org/x/tools/cmd/guru FAILED Installing g...阅读全文

博文 2018-08-29 12:30:00 lvdongjie

go语言的包管理

包管理的思想 在各种语言中都引入了包管理的思想,它有什么作用呢? 方便代码管理 提高代码的复用 一种命名空间隔离的思想 ... go语言包的组织 go语言包的导入 在go语言安装一文中提到go语言的工作空间的概念 import "fmt" import "github.com/gin-gonic/gin" 以上代码是在代码中导入了两个包,一个内置包,一个第三方包.这里的import后是一个包相对于$GOPATH/src的相对路径,在该目录下就存放着该包的代码文件. 包的组织结构 一个目录下只存在一个包 一个目录下可以由多个文件组成一个包 目录下可以由多个子目录存放新的包 第三方包的安装 go语言中提供了go get进行获取第三方的包,通过该命令将代码存放到$GOPATH/src目录下,在代码...阅读全文

博文 2018-08-12 15:35:02 暮雨

01Go命令介绍

Go 命令介绍 go 提供了一套强大好用的命令系统 go build 编译包和依赖项 go clean 删除目标文件 go env 打印Go环境信息 go fix 在包上运行go tool修复,用来修复老版本到新版本的问题 go fmt 在包源上运行gofmt go generate 通过处理源生成Go文件 go get 下载并安装包和依赖项 go install 编译和安装包和依赖项 go list 列出包 go run 编译并运行go程序 go test 测试包,运行以 _test.go结尾的文件 go tool 运行指定的go工具 go version 打印go版本 go vet 在包上运行工具go vet,它可以在编译阶段和运行阶段发现bug 详细的官网地址为:中文https://g...阅读全文

博文 2019-04-14 14:31:00 weixin_34112208

golang中crypto/cipher包

这个包实现了标准的块加密模式。我们可以看一下cipher.Block type Block interface { BlockSize() int Encrypt(dst, src []byte) Decrypt(dst, src []byte) } Go中定义了一个接口BlockMode代表各种模式 type BlockMode interface { BlockSize() int CryptBlocks(dst, src []byte) } 该包提供了获取BlockMode实例的两个方法 func NewCBCDecrypter(b Block, iv []byte) BlockMode func NewCBCEncrypter(b Block, iv []byte) BlockMod...阅读全文

博文 2018-12-09 11:34:43 laijh

理解Kubernetes网络:services篇

在本系列的第一篇文章中,研究了kubernetes如何结合使用虚拟网络设备和路由规则,以允许在一个群集节点上运行的Pod与在另一个群集节点上运行的Pod通信,只要发送者知道接收者的Pod网络即可。 IP地址。如果您还不熟悉Pod的交流方式,那么在继续之前值得一读。集群中的Pod网络很简单,但仅凭其不足以创建持久性系统。那是因为kubernetes中的Pod是短暂的。您可以将Pod IP地址用作终结点,但不能保证该地址在下次重新创建Pod时不会更改,这可能由于多种原因而发生。 您可能已经意识到这是一个老问题,并且它有一个标准的解决方案:通过反向代理/负载均衡器运行流量。客户端连接到代理,代理负责维护将请求转发到的健康服务器列表。这对代理服务器提出了一些要求:代理服务器本身必须是耐用的并且能够抗...阅读全文

工作区介绍

升级go语言版本 建议去官网下载最新的工具包 工作区 工作区就是程序工作的地方,里面包含go语言的编写源码文件,已经install 安装后的归档文件,以.a为扩展名的文件 GOPATH 环境变量GOPATH 的值可以是一个目录的路径,也可以包含多个目录的路径,每个路径代表一个工作区 GOROOT GOBIN 代码包的概念 go语言的源码是以代码包为基本组织单位的,在文件系统中,代码包是和目录一一对应的 1.一个代码包可以有多个以.go为扩展名的源码文件组成如下,demo1.go demo2.go 和 main.go 都属于代码包main,注意同一个目录下的.go 文件只能属于一个代码包 image.png 如何声明文件属于那个代码包呢?demo1.go demo2.go 和 main.go ...阅读全文

博文 2018-12-24 09:34:43 酷走天涯

go环境搭建

winodw go环境搭建 下载地址:https://golang.org/dl/ 选择对应的版本的安装包 image.png 按照提示步骤进行安装 image.png 选择安装目录 image.png image.png image.png 修改环境变量 新建系统变量GOROOT image.png 修改系统变量Path,添加go可执行文件的bin目录 image.png CMD控制台下输入go回车有以下提示,代表安装成功 image.png 查看go版本 image.png 打印第一个hello world image.png 接下来就可以在go方面愉快的玩耍了。。...阅读全文

博文 2019-01-13 11:34:40 张老三168

Go程序编译简介

Go语言安装包自带的编译器是gc。针对不同的硬件平台,Go分别提供了一组编译工具包:比如,6a,6c,6g和6l就是针对X86-64平台(5*是ARM,8*是X86)。此外gcc还有一个支持Go语言的前端:gccgo。因此如果gc不支持你当前的平台,可以尝试用gcc。 go build命令默认会使用gc编译器。假设当前目录为goEx,在这个目录下创建hello.go: package main import "fmt" func main() { fmt.Println("Hello, world!") } 在当前目录下执行go build命令: [root@Fedora goEx]# ls hello.go [root@Fedora goEx]# go build [root@Fedora...阅读全文

Go语言包管理简史

包管理是Go一直被诟病做得不好的功能之一。先前版本(go 1.11之前)的主要缺点之一是go get是缺乏对依赖包版本的管理和对可复制构建(reproducible build)的支持。Go社区已经开发了一些包管理器和工具作为版本化包依赖的事实标准解决方案,如glide,dep以及一些辅助工具等。 “我在生产构建中使用go get。” – 没有人这么说过。 Go语言的包管理实现可追溯到Google公司内的代码依赖管理(Google将内部所有源代码都存放在一个巨大的单体存储库中)。我们来分析一下在”Go module”之前Go语言的包管理工具都出了什么问题。 依赖包的版本化 依赖包的本地缓存(vendor) GOPATH的必要性 依赖包的版本化 go get默认情况下不支持包版本控制。go软件...阅读全文

博文 2019-09-21 22:14:17 bigwhite

1.Go语言开发环境搭建

打开https://golang.google.cn/dl/这个网站,选择对应系统的安装包 Mac系统: 1、首先复制/private/etc/hosts这个文件到桌面 2、打开命令行 执行如下命令cd ~、open .bash_profile 3、添加export GOROOT=/usr/local/go到export PATH=$PATH前面 4、然后将:$GOROOT/bin添加至export PATH=$PATH的末尾,完成如下图 5、在命令行执行go env命令,如果安装成功会出现下图 使用IntelliJ IDEA开发Go 1、下载并安装IntelliJ IDEA 2、打开Preferences,选择Plugins,点击Install JetBrains plugin...,在搜...阅读全文

win下如何搭建go开发环境--(golang学习)

我们都知道学习一门新语言都要先搭建开发环境的,接下来分享下如何在windows环境下来搭建一个Go程序的开发环境, 完成Go语言(golang)开发环境安装和配置方法后编写第一个"Hello Go"程序。第一步:需要的工具PC一台(我的系统是win10 64位) golang安装包(有win、mac、linux等等) 开发工具(我装的是JetBrains GoLand 2019.1 x64)系统的位数大家可以自己去查看(桌面键+R,输入cmd 运行systeminfo命令可以查看自己本机系统信息,其中的系统类型就可看出pc的位数了)。这个我不多说,知道自己的系统和位数之后,就可去golang官网下载对应的版本了。 go平台安装包一般是以"版本号+平台+位数+[.]+zip/msi"形式命名的...阅读全文

博文 2019-07-26 01:32:42 codecookies

vim8 配置NERD tree树形目录插件

vim8配置树目录网上有很多教程,我这边记录一下,备忘:1.下载NERD tree 下载地址是:https://www.vim.org/scripts/s... wget https://www.vim.org/scripts/download_script.php?src_id=23731 这个链接有可能会变化。。 我这里下载的是5.0.0的 加压配置cd ~ll .vim #我这里面没有任何文件mkdir -p .vim/pack/NERD_tree/start/NERD_tree #NERD_tree目录名称要和插件名称保持一致...cd .vim/pack/NERD_tree/start/NERD_tree cp ~/nerd_tree/nerd_tree.zip ./ #将压缩包复...阅读全文

博文 2018-12-12 18:34:47 wangyibo5843

最小化docker镜像

kubernetes离线安装包,仅需三步 如何让镜像尽可能小 很容器想到from scratch, 就是没任何基础镜像 FROM scratch COPY p / ENTRYPOINT ["/p"] 有几点要注意: ENTRYPOINT 或者CMD 必须要用[]这种模式,如果直接/p会用sh去启动,而scratch没有shell导致失败 二进制程序必须静态编译,也就是不能依赖libc什么的动态库 动态编译的bin程序: [root@dev-86-205 ci-sftp]# ldd p linux-vdso.so.1 => (0x00007ffd6ef7b000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa28f94e000) li...阅读全文

博文 2019-08-07 21:32:58 sealyun

TODO:Golang指针使用注意事项

TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变;例子2是使用指针传递,会改变地址,从而改变地址。在看例子3: 输出: map[a:aa b:bb] map[b:world a:hello] 发现什么了,TestMap前面没有加*,没有用指针,怎么也会改变值呢?因为map提供键值功能,用起来像指针引用的类型。类似这种功能的类型还有,数组切片,channel,interface。Go语言包这种指针引用类型,有兴趣可以去阅读一下源码,变量前面都有带“*”号,如果没有看看是否是map类型等。值的拷贝,操作后不会影响到副本的值;而指针则会改变同一地址的所有变量名。例子4: 输出: tempBytes:...阅读全文

在eclipse中安装go编辑器阅读fabric代码

参考资料 由于fabric采用go语言编写,故需要安装go环境。 安装要求: Java VM version 8 or later. Eclipse 4.6 (Neon) or later. 1. JDK安装1.8以上+Eclipse 安装过程省略 2.安装go环境 https://golang.org/ 进入go的官网,下载对应的安装包。本例子下载的是go1.8.3.windows-amd64.zip 解压到E:\fabric\go目录。 3.在eclipse中安装GoClipse help->Eclipse Marketplace->检索GoClipse,检索到以后直接安装即可 安装后重...阅读全文

博文 2017-07-05 16:00:06 maobuji