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

【Golang】学习笔记1 -- windows下Go安装及开发环境配置

前言 本文主要记录windows下Golang的开发环境配置。 安装Go Go的三种安装方式 Go有多种安装方式,比较常见的是下面三种: Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。 Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统下载好相应的安装包,一路next完成了。一般推荐这种方式。 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get和wget、Mac的homebrew等。这种安装方式和第一种一样,适合那些熟悉相应系统的用户。 我使用的是windows的下的标准包安装。 安装包下载 访问Golang 下载...阅读全文

博文 2018-08-02 00:30:01 Detector

Go语言简介及开发环境配置

一、Go语言简介及开发环境配置 1.Go Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。 Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。 特性: 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性 2.搭建Go开发环境 在https://golang.google.cn/doc/install?download=go1.11.1.darwin-...阅读全文

windows下golang开发环境搭建

1. golang安装 官网下载地址:https://golang.org/dl/ 笔者使用的是这个版本:https://golang.org/doc/install?download=go1.10.3.windows-amd64.msi, 下载不了的话,就挂个vpn IMG20180809_162804.png 安装 下载好安装包之后,双击安装包安装即可,安装的时候,你可以指定安装的目录 2. golang ide安装 笔者使用的go ide是liteide, 这个是国人自己开发的go语言ide,界面简洁好用,最喜欢的是,每次保存代码的时候,会自动帮你进行代码对齐 下载地址 官网:http://liteide.org/cn/ 源码:https://github.com/visualfc/l...阅读全文

博文 2018-08-09 17:35:01 yandaren

Centos7上node.js和go语言的快速安装

Centos7上node.js和go语言的快速安装 一、安装环境 Centos7.4 二、安装node.js 参考文章:在Linux系统安装Nodejs 最简单步骤 1、去官网下载和自己系统匹配的文件: 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 下载Linux系统(X86/X64)中的64位,即本次安装为二进制文件安装,非编译安装a。 2、安装node.js 下载node.js 将下载的node-v10.8.0-linux-x64.tar.xz上传到服务器的/usr/local/src 解压 cd /usr/local/src tar -xvf node-v10.8.0-linux-x64.tar...阅读全文

博文 2018-08-15 20:36:11 bestlope

(原创)GO语言学习笔记(一) - Go安装配置

载请注明出处 GO语言学习笔记(一) - Go安装配置 下载安装 官方网址:https://golang.org/dl/ 注:国内是被墙的,需要翻墙下载 Windows安装 Windows下直接运行安装包 默认安装在 C:\Go 目录下 安装完成后执行下面的命令,能正常执行,则安装完成。 go version 配置GOPATH(Windows) Windows下设置环境变量 添加环境变量GOPATH,路径设置为指定路径。 注:不知道为什么我的只能是 C:\Users\Administrator\go,修改成其它路径也不成功。有木有修改成功过的,也告诉我一下。 GOPATH C:\Users\Administrator\go 然后把GOPATH添加到PATH里 %GOPATH%; 设定完成后执...阅读全文

博文 2019-10-15 23:32:52 aside section ._1OhGeD

如何理解和运用服务编排?(使用 Goku API Gateway 实现)

上一篇博客 未来实现API管理系统的几个关键词 发布后,有不少读者私信我,让我写一篇实际运用的文章,我周末趁着有空写了这篇有关“服务编排”的文章。用的是Goku API Gateway进行演示, 希望本文对读者有所启发。什么是服务编排/数据聚合?服务编排/数据聚合 指的是可以通过一个请求来依次调用多个微服务,并对每个服务的返回结果做数据处理,最终整合成一个大的结果返回给前端。例如一个服务是“查询用户预定的酒店”,前端仅需要传一个订单ID,后端会返回整个订单的信息,包括用户信息、酒店信息和房间信息等。这个服务背后可能对应着以下几个操作:1.请求订单详情,返回订单对应的用户ID、酒店ID、房间ID;2.根据各类ID查询对应的信息;3.将数据做过滤、移动等操作,最后整合起来;4.将整合好的数据返回...阅读全文

博文 2019-10-21 18:32:58 aside section._1OhGeD

兄弟连区块链入门教程以太坊源码分析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 兄弟连区块链培训

迈出第一步:做好提前准备

目标 检查操作系统 检查并安装所需工具 可选安装Node及npm 任务实现 1.2.1 操作系统 学习,必须要有一个好的场地,我们耗费精力给你挑选好了一个安全又方便的场地。但是该场地有一些硬性条件,请一定要注意。 推荐使用的操作系统为64位的 Ubuntu 16.04 LTS,系统内核为 GNU/Linux 4.13.0-36-generic x86_64。 硬件资源要求:内存最低为2GB,最好3G以上; 磁盘空间为30GB或更高。 如果计算机默认为Windows操作系统, 可以在Windows系统中安装一个VMware虚拟机应用程序, 然后在VMWare虚拟机中安装Ubuntu 16.04系统, 最后在Window操作系统中再安装一个远程连接工具(如XShell或SecureCRT),以方...阅读全文

博文 2019-01-09 11:34:47 Terry_007

三方对接心路历程

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

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

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 12:31:00 weixin_34259159

多隆:淘宝第一行代码撰写者的程序世界

摘要: 他2000年加入阿里巴巴,是淘宝的创始人之一,是阿里内部公认的技术大牛,在阿里内网上他被贴得最多的标签就是“神”。在第二届研发效能嘉年华中他将在“向代码致敬,寻找83行代码”活动颁奖盛典中华丽现身,他就是“码神”多隆,原名蔡景现,一位安安静静的摆渡人。 他2000年加入阿里巴巴,是淘宝的创始人之一,是阿里内部公认的技术大牛,在阿里内网上他被贴得最多的标签就是“神”。在第二届研发效能嘉年华中他将在“向代码致敬,寻找83行代码”活动颁奖盛典中华丽现身,他就是“码神”多隆,原名蔡景现,一位安安静静的摆渡人。 多隆何许人也? ![4ce376802172170c15affb8c7156d20cc451ac2b.png](https://static.studygolang....阅读全文

用jsonrpc2连接gtk程序和go程序

gtk 程序可以使用 jsonrpc-glib-1.0 方便的构建 rpc 客户端。 它的调用协议是 jsonrpc2.0。 golang 有一个第三方包“github.com/powerman/rpc-codec/jsonrpc2”可以构建基于 jsonrpc2.0 的服务器/客户端,但是格式不兼容。 区别在于, jsonrpc-glib-1.0 发出的数据包有一个头部,是 golang 的 rpc 所没有的。 我做了一个中间层可以非常简单的用 golang 编写兼容 jsonrpc-glib-1.0 客户端的 rpc 服务器。 安装包: `go get github.com/rocket049/go-jsonrpc2glib` 或者: `go get gitee.com/rocket04...阅读全文

博文 2018-12-15 11:14:30 fuhuizn

go get提示error: ...is not using a known version control system

go get提示error: ...is not using a known version control system 错误提示代码 go get -v github.com/go-delve/delve/cmd/dlv package golang.org/x/tools/go/gcexportdata: directory "E:\go\golang\src\golang.org\x\tools\go\gcexportdata" is not using a known version control system 这个原因是github.com/go-delve/delve/cmd/dlv 包直接下载的zip压缩包文件,修改文件名中-master因此没有加入到git版本控制系统中 ...阅读全文

博文 2020-04-11 15:32:43 哆啦在这A梦在哪

工作区介绍

升级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 酷走天涯

超级账本学习笔记1:环境搭建

超级账本学习笔记1:环境搭建 开发环境 步骤1:安装Ubuntu虚拟机操作系统 首先在Windows系统上安装Virtual Box软件,从https://www.virtualbox.org/地址下载并按照指示进行安装即可。然后,下载Ubuntu 18.04.2 LTS系统,从https://www.ubuntu.com/download/desktop地址下载。下载完成后,在Virtual Box新建一个虚拟机,然后将Ubuntu光盘镜像添加到虚拟机的存储中,接着,启动虚拟机,按照系统提示进行安装即可。 步骤2: 安装Docker Docker是个开源的应用容器引擎,它让开发者可以打包应用以及依赖包到可移植的容器中,然后发布到任何Linux机器上。超级账本项目的开发也离不开Docker。...阅读全文

博文 2019-03-24 15:34:40 区块链原力

安装Go,配置Go环境(实力亲测)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wd2014610/article/details/80328315 区块链研发 现在区块链项目大多都是用Go语言写的,其实语言都是想通的,如果你其他语言学习的好,那么你学习Go语言起来,也是非常简单的,如果你对区块链比较感兴趣,那么来学学Go也是一点问题都没有的。 一、了解一下Go 访问一下Go语言的官网 Go官网 Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Go是一门开源的编程语言,它能够让你更快的编译,更加可靠,...阅读全文

博文 2019-02-27 15:31:03 wd2014610

CentOS 7 安装Golang

下载Golang安装包 前往Golang官网下载安装包 选择相应版本下载,我选择的版本是go1.10.2.linux-amd64.tar.gz 解压安装包 进入放置压缩包的目录 将压缩包解压到/usr/local目录下 sudo tar -C /usr/local/ -xzvf go1.10.2.linux-amd64.tar.gz 配置环境变量 编辑profile文件 sudo vim /etc/profile 在最后一行加入 export GOROOT=/usr/local/go export GOPATH=/home/zhangboo/goProject export GOBIN=$GOPATH/bin export PATH=$PATH:$GOROOT/bin export PATH...阅读全文

博文 2018-11-30 17:34:48 zhangboo的程序猿之路

野子科技——同时使用Python2和Python3

野子电竞数据官网改版https://www.xxe.io/ 全新登场安装从官网或者Python部落都可以下载Python2.x和Python3.x的版本,注意一下系统就好 将Python2.x和Python3.x安装到不同的文件夹里面。例如,Windows下D:Program FilesPython2和D:Program FilesPython3 将Python2和Python3的安装路径和下一级的Scripts文件夹的路径添加到环境变量里面。解法野路子解法将其中一个运行文件如Python2下的python.exe的名字改成python2.exe,那么在运行Python2的文件时这样就可以:python2 test.py可是这样会导致改了名字的python对应的pip无法使用。 官方解法在安...阅读全文

博文 2019-09-17 17:02:43 待你幼稚完

ECS 按量付费转包年包月支持按周啦

摘要: 功能场景 不需要别的理由,就是省钱,以 华北1 ecs.t5-c1m2.xlarge(4vCPU 8GiB) 为例: 按量付费一周需要 131元,而预付费包周只需要 68元,如果您正在使用按量付费,但又不会使用一个月那么久(超过一个月可以转包月),还在等什么,果断转为包周实例吧。 **功能场景** 不需要别的理由,就是省钱。 以 华北1 ecs.t5-c1m2.xlarge ( 4vCPU 8GB ) 为例: 按量付费一周需要 131元,而按周付费只需要 68元。 如果您正在使用按量付费,但又不会使用一个月那么久(超过一个月可以转包月),还在等什么,果断转为按周实例吧。 **操作步骤(ECS 控制台**) 在 ECS 控制台选择按量付费的实例,单击 ...阅读全文

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 短路的鲍勃

载 --- Linux下Go的安装、配置、升级和卸载

1. 手动安装 Go 由于大家使用的 Linux 版本不尽相同,也不见得是最新版本或需要版本的 Go 语言包,所以我们说一下如何手动安装指定版本。 1.下载Go发行版 从官方地址:https://golang.org/dl/ 上下载合适的 二进制发行版 (例如: go1.10.4.linux-amd64.tar.gz ): wget https://dl.google.com/go/go1.10.4.linux-amd64.tar.gz 1 2.提取压缩包 提取压缩包到合适的目录(例如: /usr/local ): sudo tar -xzf go1.10.4.linux-amd64.tar.gz -C /usr/local 1 3.建立软链接 sudo ln -s /usr/local/g...阅读全文

博文 2018-12-06 01:45:09 yuantiancai

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 燃烧的红叶枫

Mac Homebrew & windows 之 go语言的安装

Mac 通过Homebrew安装golang Mac:~ wujiahao$ brew install go ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/go-1.11.2.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring go-1.11.2.high_sierra.bottle.tar.gz ==> Caveats A valid GOPATH is required to use the `go get` com...阅读全文

博文 2018-12-04 16:34:48 吴佳浩

HyperLedger安装与测试(MAC PRO)

HyperLedger安装与测试(MAC PRO) 环境准备 Dccker golang Node.js python 2.7 (MacOS 自带) Fabric下载与安装 参考链接: Hyperledger Fabric v1.1.0 macOS部署开发者环境并创建第一个Fabric网络 测试 注意实际安装时使用的是1.2版本,对应测试也要参考: Building Your First Network 其中的可能遇到的问题: https://stackoverflow.com/questions/52158412/got-an-error-while-running-first-network-example-fabric-version-1-...阅读全文

博文 2018-09-07 00:34:40 向水一生

01-Go语言环境搭建

什么是GO语言 Go语言(Golang)是Google公司2009年推出的一门"高级编程语言" Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Go语言的优势 简洁 快速 安全 并行 有趣 开源 内存管理 数据安全 编译迅速 应用场景 网络编程,如web应用 云平台开发 服务器编程 分布式系统... Go语言的SDK安装和配置 SDK(软件开发工具包(外语首字母缩写:SDK、外语全称:SoftwareDevelopmentKit)) 安装步骤 1.下载安装包 Golang下载地址:点击跳转 image 2.运行安装包 image image image image image image 3.配置环境变量 3...阅读全文

博文 2018-10-08 19:34:41 月色下的阳光

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

Go开发环境搭建-Windows下

Go官方安装指引文档(需要FQ)https://golang.org/doc/installGo下载参考地址(需要FQ)https://golang.org/dl/Go安装包可直接通过此地址下载64位,忽略上面两步骤(需要FQ)https://dl.google.com/go/go1.12.windows-amd64.msi下载完毕如下: 开始安装,双击上述已下载文件,流程如下: 注意:下面用默认路径 安装完毕,验证,在DOS下敲 go version, 如下图,则说明安装成功。 备注:由于使用msi安装文件,所以Go语言的环境变量已经自动设置好了。如果你安装的是ZIP包,需要设置环境变量如下:系统变量名: Go的安装位置Path: 原来的path下追加 ;%GOROOT%\bin验证:zi...阅读全文

博文 2019-03-04 15:35:49 没图怎么玩儿

0. Go Introduce

Go 是一种开源的编程语言,它试图使编写简单、可靠、高效软件变得更加容易。 fiveyears.jpg 官方站点为 https://go.googlesource.com/go, 也可以访问 GitHub 镜像 。国内有 Go语言中文网、Golang中国 等不错的学习交流平台。 Golang 安装可以从 https://studygolang.com/dl 选择自己对应的平台或系统下载安装任何版本。 Golang 开发环境可以自行Google or Bing,参照热心网友教程搭建,鉴于 Go 官方站点在墙外,可以从 Golang中国第三方包 获取需要Go插件包,具体请阅读链接说明。 Golang 可参考书籍很多,推荐阅读《Go程序设计语言》,zmazon 购买 此处留痕,希望自己走的更远,2...阅读全文

Ubuntn下搭建Go语言开发环境

Go 语言安装包下载地址: https://studygolang.com/dl 下载完成之后,运行如下命令解压到 /usr/local tar -C /usr/local -zxvf go1.11.linux-amd64.tar.gz 当然具体的安装包名字可能与上面有出入。 配置环境变量: 打开当前用户 $HOME 目录下的 .bashrc 文件 vi ~/.bashrc 在末尾添加如下命令,这些命令的主要用途是用来导出环境变量: export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin:$HOME/go/repo/bin:$HOME/go/ws/bin export GOPATH=$HOME/go/repo:$HOME/go/ws...阅读全文

博文 2018-12-02 20:34:42 银冰雪千载

【TokenGazer评级】RChain:现金流问题暴露管理隐患,治理风险得到适当释放

TokenGazer观点:RChain当前市值估值区间在总市值200B前提下有95%的几率在22.5MM到79.2MM之间,TokenGazer项目指标为2分(满分5分,说明见文末),指标展望:上升趋势。RChain用Scala语言搭建核心平台,并在并发上有独特考虑,其DAG+Casper+RhoVM的技术架构随着项目进展将收到越来越多的关注。在现金流管理上暴露出严重的管理漏洞,董事长Greg Meredith未能对市场作出充足打算,董事会则未能对Greg的弱点起到足够的补充和制衡。目前主网上线前的资金缺口以及Mercury后续开发版本的资金筹措计划仍旧需要密切关注。Token供应缺乏规划的情况已经得到大幅度改善。1 估值、评分、变化预测1.1基本信息名称:RChain创立于:2017年3月...阅读全文

博文 2018-11-20 14:34:49 TokenGazer

跳槽

从今天开始,决定要写些日记。当然只是记录些心路历程而已,于你未必能有什么价值。 最近在跳槽,仍是软件开发方向。 之前已经在外包公司待了两年半,说长不长,说短也绝对不短了。诚然外包还是外行入门的不二选择,但入门之后,再想进一步求发展,就不是外包所擅长的了。首先外包员工权限是被限制的,核心文档看不了,生产环境也碰不到;其次外包公司门槛和上限都低,但凡资深一点都另谋高就了;最后,只有非核心的业务,甲方才会放心地交给外包,所以外包的天职就是处理非核心业务,说穿了大部分工作的含金量没有那么高。 而为什么选在这个时间点走,现在看来也是有待商榷的。 第一个错误是蜜汁自信,在外包公司做了一年多的一面面试官,感觉大部分的人都好弱,想着自己出去一个打五个也不成问题。其实更应该看到来面外包岗的,大部分人都是去不了...阅读全文

博文 2019-08-03 10:32:39 项峥

go bytes包

代码: package main import ("bytes""fmt"// "icode.baidu.com/baidu/gdp/automaxprocs"// "icode.baidu.com/baidu/gdp/log") // "icode.baidu.com/baidu/gdp/log" // "icode.baidu.com/baidu/gdp/log" func main() {println("hello,world")buff1 := make([]byte, 2)writeInt16(buff1, uint16(15)) buff2 := make([]byte, 2) writeInt16(buff2, uint16(13)) res := bytes.Compare...阅读全文

博文 2020-01-22 21:33:11 李生虎lsh

最小化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

GO学习之安装与运行

1 下载安装包下载地址为:https://golang.org/dl/ 国内可以正常下载地址:https://golang.google.cn/dl/2 UNIX/Linux/Mac OS X,和FreeBSD系统下使用源码安装方法1、下载源码包:go1.11.5.linux-amd64.tar.gz2、解压源码: tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz3、将目录添加至PATH环境变量:export PATH=$PATH:/usr/local/go/bin3 WINDOWS下安装1、下载并运行安装包:go1.11.5.windows-amd64.msi2、设置环境变量:默认情况下.msi文件会安装在 c:\Go 目录下,并自动添加了环...阅读全文

博文 2019-02-20 23:34:41 小新_610e

BFF实践(通过网关的服务编排功能)

什么是服务编排/数据聚合? 服务编排/数据聚合 指的是可以通过一个请求来依次调用多个微服务,并对每个服务的返回结果做数据处理,最终整合成一个大的结果返回给前端。 例如一个服务是“查询用户预定的酒店”,前端仅需要传一个订单ID,后端会返回整个订单的信息,包括用户信息、酒店信息和房间信息等。 这个服务背后可能对应着以下几个操作: 请求订单详情,返回订单对应的用户ID、酒店ID、房间ID; 根据各类ID查询对应的信息; 将数据做过滤、移动等操作,最后整合起来; 将整合好的数据返回给前端; 下面的图可以帮你更好理解: 编排的优势 微服务架构上对功能做了解耦,使用服务编排可以快速从各类服务上获取需要的数据,对业务实现快速响应。总的来说,编排有以下几点优势: 功能解耦,服务能够被复用; 对前端友好,无需...阅读全文

博文 2019-11-12 14:34:08 eoLinker

记一次golang的内存泄露

程序功能 此程序的主要功能是将文件中数据导入到clickhouse数据库中。 【问题描述】 服务器内存每隔一段时间会耗尽 【问题分析】 由于使用的是go语言开发的,所以采用了业界流行的工具pprof。 参考URL:https://cizixs.com/2017/09/11/profiling-golang-program/ 工具的使用与思路: 1)先修改源代码 2)安装工具观察 3)根据工具抓取的现象进行分析 4)修复内存缺陷代码, 再根据分析结果修复内存泄漏的地方 5)发布代码进行再跟踪分析 ================================================== 1)修改代码: 使用这个工具前需要在代码中写几行代码,以便能使用这个工具的来收集数据。 1 //引...阅读全文

博文 2020-02-16 09:30:45 CtripDBA

go get提示error: ...is not using a known version control system

go get提示error: ...is not using a known version control system 错误提示代码 go get -v github.com/go-delve/delve/cmd/dlv package golang.org/x/tools/go/gcexportdata: directory "E:\go\golang\src\golang.org\x\tools\go\gcexportdata" is not using a known version control system 这个原因是github.com/go-delve/delve/cmd/dlv 包直接下载的zip压缩包文件,修改文件名中-master因此没有加入到git版本控制系统中 ...阅读全文

博文 2020-04-11 15:32:43 哆啦在这A梦在哪

win10系统下minGW的安装

因为在运行golang的go-sqlite3库时,因为缺少C的编译环境,编译器出现了下列报错: exec: "gcc": executable file not found in %PATH% 解决方法是安装minGW 由于minGW官网的安装路径实在是太曲折了,安装文件的链接不好找,下载下来的安装包需要从十几个目录的几十个库中选择需要的部分,我找的教程在这一步有些问题,最终的安装结果没有成功。 总结了网上的教程之后,总结了一条最简单的路径: 下载minGW的完整压缩包,来源是这个海外的资源站https://sourceforge.net/projects/mingw-w64/ 下载完毕后将压缩包解压在任意目录,因为外层文件夹的名字较长:x86_64-8.1.0-release-posix-...阅读全文

博文 2020-03-05 03:32:46 敏讷_

Golang 环境搭建

1. 下载 golang 语言安装包 在 golang 官网下载地址 https://studygolang.com/dl 下载对应操作系统的安装包。 golang安装包.png 2. Linux 下 golang 环境搭建 2.1 创建 /root/go 目录,把 go1.12.7.linux-amd64.tar.gz 安装包拷贝进来 2.2 执行解压到 /usr/local 目录下,会创建 /usr/local/go tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz 2.3 建立 go 的工作目录 /root/go/gowork 2.4 设置环境变量 PATH、GOROOT、GOPATH 在 /etc/profile 或者 $HOME/...阅读全文

博文 2019-07-31 18:32:41 _给我一支烟_

Go 语言环境安装

Go 语言环境安装 Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Window 安装包下载地址为(go语言环境配置安装包下载安装教程): https://golang.org/dl/ 各个系统对应的包名: UNIX/Linux/Mac OS X, 和 FreeBSD 安装 以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法: 1、下载源码包:go1.4.linux-amd64.tar.gz。 2、将下载的源码包解压至 /usr/local目录。 tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz 3、将 /usr/local/go/bin 目录添加至PAT...阅读全文

Golang推荐的命名规范

很少见人总结一些命名规范,也可能是笔者孤陋寡闻,作为一个两年的golang 开发者,我根据很多知名的项目,如moby, kubernetess等总结了一些常见的命名规范。命名规范可以使得代码更容易与阅读,更少的出现错误。1、文件命名规范由于文件跟包无任何关系,而又避免windows大小写的问题,所以推荐的明明规范如下:文件名应一律使用小写,不同单词之间用下划线分割, 命名应尽可能地见名知意。2、常量命名规范常量明明用 camelcase来命名示例如下更多go语言内容请关注:http://www.fastgolang.co...阅读全文

博文 2019-07-08 20:32:43 CC_ab48

go语言-01.基本结构

//当前程序包名 package main //导入其他的包 import std "fmt" //常量定义 const PI = 3.14 //全局变量的声明与复制 var name = "gohpher" //一般类型声明 type newType int // 结构的声明 type gopher struct{} //接口的声明 type golang interface{} //使用main函数作为程序的入口点启动 func main() { std.Println("Hello world!") ...阅读全文

博文 2019-06-10 23:32:49 KeyboardLife

来你是这样的Websocket--抓包分析

之前自己一个人负责完成了公司的消息推送服务,和移动端配合完成了扫码登录、订单消息推送、活动消息广播等功能。为了加深自己对Websocket协议的理解,自己通过进行抓包的方式学习了一番。现在分享出来,希望对大家能有所帮助。 Chrome控制台 (1)F12进入控制台,点击Network,选中ws栏,注意选中Filter。 (2)刷新页面会得到一个ws链接。 (3)点击链接可以查看链接详情 注意红框标出的信息,后面会详细说明。 (4)当然也可以切换到Frames查看发出和接收的消息,但是非常的简陋,只能看到消息内容,数据长度和时间 Fiddler:抓包调试利器 (1)打开Fiddler,点开菜单栏的Rules,选择Customize Rules... (2)这时会打开CustomRules.js...阅读全文

博文 2020-02-02 14:40:49 songwenjie

Go语言入门

GO语言 耳闻已久的Go语言,今天入门了解一下。 Go之所以火爆的原因之一是,拥有CoreOS,Kubernetes(Google),InfluxDB知名大客户,另外Docker也是Go语言所编写。 Go语言的功能特性(所有这些特性,以后慢慢学习了解) 并发支持 简单性和一致性 面向对象 指针 编译器 包管理 Go语言标准库地址 https://golang.org/pkg 官网https://studygolang.com/pkgdoc 中文 项目源码地址 https://github.com/golang/go 快速上手 通过安装包 国内下载地址: https://studygolang.com/dl 配置 ➜ ~ go version go version go1.14.3 darwi...阅读全文

博文 2020-05-25 19:32:42 onlythinking

Go开发环境搭建

可以在 https://golang.google.cn/dl/ 找到各种系统(支持Windows、MacOS、Linux)的Go安装包。 下载和安装 点击对应的安装包,即可开始自动下载。下载完成后,双击安装包,会出现安装引导页面(如下图所示),点击“继续”逐步安装即可。 开始安装 安装完成后,出现如下页面: 安装完成 查看版本号 在控制台输入go version命令,即可看到当前安装的go开发环境版本: $ go version go version go1.12.1 darwin/amd64 环境变量 sudo vi ~/.bash_profile # 添加如下环境变量 export GOPATH="/usr/local/Cellar/go/1.12.1" export GOBIN="$...阅读全文

博文 2019-06-09 23:02:43 Will_4110

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-02-27 12:34:41 杨旭

Golang 闭包

package main import ( "fmt" ) func adder() func(int) int { sum := 0 return func(x int) int { sum += x return sum } } func main() { pos, reg := adder(), adder() for i := 0; i < 10; i++ { fmt.Println( i, //sum[i] = i pos(i), //pos(i) = pos(i).sum + i reg(-2*i), //reg(-2 * i) = reg(i) + (-2*i) ) } } 输出: API server listening at: 127.0.0.1:26756 0 0 0 1...阅读全文

博文 2019-03-01 14:34:47 钾肥尔德