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

golang交叉编译

如win机器上可以编译linux,mac程序。 脚本Makefile 提供win,linux,mac 64位机器,还提供自动打包 make win 生成window可执行文件 make linux 生成linux二进制文件 make mac 生成mac 执行文件 #!/usr/bin/env bash fmt: gofmt -l -w ./ win: bindata window output/window/go-mygen.exe help linux:fmt set CGO_ENABLED=0 set GOARCH=amd64 set GOOS=linux go build -a -o output/linux/go-mygen . window:fmt set CGO_ENABLED=...阅读全文

博文 2020-03-26 17:40:41 百里江山

ubuntu18.04搭建基于Raft共识的fabric1.4网络环境(first-network)

ubuntu18.04搭建基于Raft共识的fabric1.4网络环境 环境准备 安装golang 下载最新包 wget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gz 解压安装 sudo tar -C /usr/local -zxf go1.13.4.linux-amd64.tar.gz 配置环境变量 // 以下方式选择一种 // 系统环境变量 vim ~/.bashrc // 用户环境变量 vim /etc/profile 追加以下代码 export GOPATH=~/gopath export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin:$GOPATH/...阅读全文

博文 2019-11-28 09:32:40

CentOS 7 部署以太坊私有链 go1.13.2 + go-ethereum1.9.12

###1.安装基础工具 yum update -y && yum install git bzip2 gcc-c++ ntp epel-release nodejs -y ###2.安装cmake wget https://cmake.org/files/v3.15/cmake-3.15.2.tar.gz tar zxvf cmake-3.15.2.tar.gz mv cmake-3.15.2 /usr/local/ cd /usr/local/cmake-3.15.2 ./bootstrap gmake gmake install ###3.配置环境变量 echo "export PATH=/usr/local/cmake-3.15.2/bin:$PATH" >> /etc/profile...阅读全文

博文 2020-03-09 20:33:55 刘景宇

golang进行交叉编译

golang进行交叉编译 交叉编译即编译不同操作系统平台的可执行程序 golang执行交叉编译,只需要使用两个变量 - GOOS:目标操作系统 - GOARCH:目标操作系统的架构 根据下面这个表格指定就行了。 其中386指的是32位系统 OS ARCH OS version linux 386 / amd64 / arm >= Linux 2.6 darwin 386 / amd64 OS X (Snow Leopard + Lion) freebsd 386 / amd64 >= FreeBSD 7 windows 386 / amd64 >= Windows 2000 build命令的用法如下 usage: go build [-o output] [-i] [build flags]...阅读全文

博文 2020-03-27 06:32:42 泥之天空

[Question] I'm trying to manipulate keystrokes in Go using evdev, uinput, and syscall and I've hit a snag. Any assistance would be appreciated.

<p>Hello everyone!</p> <p>To start: I&#39;m relatively new to Go and compiled languages in general. The overwhelming majority of my dev experience is with PHP and Python. That said, I spent several hours the other night trying to make my laptop keyboard act like my desktop keyboard. It&#39;s called a Poker 3 and it&#3...阅读全文

MySQL数据库入门学习

课程介绍 本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 课程目标 让小白也能够熟练掌握常用的数据库使用技巧,理解数据库的存储结构 适合人群 数据库入门学习者 前端学习者 课时列表 • 课时1: MySQL概要 • 课时2:MySQL在windows下的安装 • 课时3:MySQL在linux下的安装 • 课时4:MySQL在Mac下的安装 • 课时5:MySQL配置 • 课时6:添加和删除数据库(DB) • 课时7:数据类型 • 课时8:添加和删除数据表(table) • 课时9:给数据表添加或者删除列 • 课时10:修改某个数据列的名字或者数据类型 • 课时...阅读全文

go hello world

2. Hello World 建立 Go 工作区 在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。 在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 $HOME/go。所以我们要在 $HOME 目录下创建 go 目录。 而在 Windows 下,工作区应该设置在 C:\Users\YourName\go。所以请将 go 目录放置在 C:\Users\YourName。 其实也可以通过设置 GOPATH 环境变量,用其他目录来作为工作区。但为了简单起见,我们采用上面提到的放置方法。 所有 Go 源文件都应该放置在工作区里的 src 目录下。请在刚添加的 go 目录下面创建目录 src。 所有 Go 项目都应该依次在 src 里面设置自己的子目录。我们在 s...阅读全文

通过 Consul-Template 实现动态配置Nginx负载服务

【转载请注明出处】:https://www.jianshu.com/p/3fe4e15a1f99 Consul-Template简介 Consul-Template是基于Consul的自动替换配置文件的应用。在Consul-Template没出现之前,大家构建服务发现系统大多采用的是Zookeeper、Etcd+Confd这样类似的系统。 Consul官方推出了自己的模板系统Consul-Template后,动态的配置系统可以分化为Etcd+Confd和Consul+Consul-Template两大阵营。Consul-Template的定位和Confd差不多,Confd的后端可以是Etcd或者Consul。 Consul-Template提供了一个便捷的方式从Consul中获取存储的值,C...阅读全文

博文 2020-05-14 08:32:44 后端老鸟

图解kubernetes资源QOS机制实现原理

QOS是k8s中一种资源保护机制,其主要是针对不可压缩资源比如的内存的一种控制技术,比如在内存中其通过为不同的Pod和容器构造OOM评分,并且通过内核的策略的辅助,从而实现当节点内存资源不足的时候,内核可以按照策略的优先级,优先kill掉哪些优先级比较低(分值越高优先级越低)的Pod,今天来分析下背后的实现 1.关键基础特性 1.1 一切皆文件 在Linux中一切皆文件,控制CGroup本身也是通过配置文件进行的,这是我创建的一个内存Lmits为200M的Pod的容器的配置 # pwd /sys/fs/cgroup # cat ./memory/kubepods/pod8e172a5c-57f5-493d-a93d-b0b64bca26df/f2fe67dc90cbfd57d873cd8a8...阅读全文

博文 2020-02-19 21:32:42 仔仔

基于go语言的开源网关 Goku API Gateway CE 部署指南

项目地址 https://github.com/eolinker/goku-api-gateway 环境要求 linux系统,内核版本 2.6.23+ net-tools Docker安装 1.控制台docker:https://hub.docker.com/r/eolinker/goku-api-gateway-ce-console 2.网关节点docker:https://hub.docker.com/r/eolinker/goku-api-gateway-ce-node Docker安装教程请查看Docker下的 Overview 页面 非Docker安装 一、控制台安装 1.安装: mkdir -p {install dir} mv console-{version}.tar.gz ...阅读全文

博文 2019-11-12 11:35:41 neos

Golang笔记-基准测试

上一篇写了些简单的单元测试,这一篇来看看`go`中的基准测试。在`go`中基准测试也是开箱即用的。使用`testing.B`结构对象。 #### 需要测试的代码 > 我们依然用上一篇的代码结构 ``` │ main.go │ main_test.go main.go func JoinStrUseSprint(a,b string) string { return fmt.Sprintf("%s%s",a,b) } func JoinStrUseNor(a,b string) string { return a+b } ``` #### 创建一个基准测试 > 创建普通单元测试我们使用`TestFunc`来定义。创建基准测试我们需要使用`BenchmarkFunc`来定义。 ``` func ...阅读全文

博文 2020-05-21 21:48:39 rundaisc

docker快速使用

#### LXC Linux 容器(Linux Containers,缩写为 LXC)。 Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。或者说,在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。 由于容器是进程级别的,相比虚拟机有很多优势。启动快占用资源少。 #### 什么是Docker? Docker 是世界领先的软件容器平台。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成...阅读全文

博文 2019-11-12 10:26:35 bytemode

golang快速入门[3]-go语言helloworld

golang快速入门[3]-go语言helloworld 在之前,我们介绍了如何在windows、macos以及linux平台构建go语言的开发环境 golang快速入门[2.1]-go语言开发环境配置-windows golang快速入门[2.2]-go语言开发环境配置-macOS golang快速入门[2.3]-go语言开发环境配置-linux 本文将介绍如何书写、编译、并运行第一个go语言程序 同时详细介绍其内部机制 书写第一个go语言程序 首先我们可以在任意位置新建一个文件,命名为main.go go源文件以.go作为后缀,命名时建议统一为小写英文字母 用任意的文本编辑器(vim,notepade,emacs…)编辑文件,书写如下代码 package main import "fmt...阅读全文

博文 2020-02-12 07:32:58 唯识相链2

GO语言学习笔记(一)Go语言的初步了解

一·、Go语言的官方网站https://golang.org/dl/二、安装Go语言Linux版本: tar zxf go1.11.4.linux-amd64.tar.gz mv go /usr/local/ 三、设置GOPATH和GOROOT环境变量 vim /etc/profile 增加这三行: export GOROOT=/usr/local/go export PATH=$GOROOT/bin:$PATH export GOPATH=$GOROOT/gocode 使其生效:source /etc/profile 四、验证 执行:go version go version go1.11.4 linux/amd64 五、Go环境变量介绍 执行:go env GOARCH="amd64" ...阅读全文

博文 2019-01-24 18:35:17 Mr大表哥

如何用 GVM 管理 Go 项目

使用 Go 版本管理器管理多个版本的 Go 语言环境及其模块。 Woman programming Go 语言版本管理器(GVM)是管理 Go 语言环境的开源工具。GVM “pkgsets” 支持安装多个版本的 Go 并管理每个项目的模块。它最初由 Josh Bussdieker 开发,GVM(像它的对手 Ruby RVM 一样)允许你为每个项目或一组项目创建一个开发环境,分离不同的 Go 版本和包依赖关系,以提供更大的灵活性,防止不同版本造成的问题。 有几种管理 Go 包的方式,包括内置于 Go 中的 Go 1.11 的 Modules。我发现 GVM 简单直观,即使我不用它来管理包,我还是会用它来管理 Go 不同的版本的。 安装 GVM 安装 GVM 很简单。GVM 存储库安装文档指示你...阅读全文

博文 2019-10-12 11:34:28 Linux中国

Attempting to move files onto a USB drive programatically. Any experience with USB communication in Go?

<p>Hi there,</p> <p>I&#39;ve been working on a personal project, whereby when a USB drive is inserted, a file is automatically copied onto it. I thought Go was a natural fit because it&#39;s a little lower level, cross OS compatible, and is essentially just a binary. </p> <p>I attempted to achieve this using ...阅读全文

如何在 Go 中使用 CGroup 实现进程内存控制

背景 从 Linux 内核 2.6.25 开始,CGroup 支持对进程内存的隔离和限制,这也是 Docker 等容器技术的底层支撑。 使用 CGroup 有如下好处: 在共享的机器上,进程相互隔离,互不影响,对其它进程是种保护。 对于存在内存泄漏的进程,可以设置内存限制,通过系统 OOM 触发的 Kill 信号量来实现重启。 CGroup 快速入门 默认挂载分组Linux 系统默认支持 CGroup, 而且默认挂载所有选项,可以使用 mount -t cgroup 来查看: $ mount -t cgroup cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release...阅读全文

博文 2019-11-25 20:03:11 xjtuhit

小白也能够熟练掌握常用的数据库使用技巧

课程介绍 本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 课程目标 让小白也能够熟练掌握常用的数据库使用技巧,理解数据库的存储结构 适合人群 数据库入门学习者 前端学习者 课时列表 • 课时1: MySQL概要 • 课时2:MySQL在windows下的安装 • 课时3:MySQL在linux下的安装 • 课时4:MySQL在Mac下的安装 • 课时5:MySQL配置 • 课时6:添加和删除数据库(DB) • 课时7:数据类型 • 课时8:添加和删除数据表(table) • 课时9:给数据表添加或者删除列 • 课时10:修改某个数据列的名字或者数据类型 • 课时...阅读全文

Go语言开发基础环境搭建

1、安装Go开发包 下载地址:; 下载适合自己的版本进行安装即可。 安装完成后,可以用以下命令进行查看: 2、配置GOPATH 步骤: 在自己电脑上新建一个目录E:\DEV\Go做为Go代码存放目录 将上面创建的目录添加到我们的环境变量中 在上面的目录中新建三个文件夹,分别是bin src pkg 将E:/DEV/Go/bin 添加到PATH环境变量中 3、开发目录架构 1.14版本之前: 4、HelloWorld 代码如下:main.go package main import "fmt" func main(){ fmt.Println("Hello World") } 编译: 1、在项目目录下执行go build 2、在其他目...阅读全文

博文 2020-03-16 01:33:15 Uncle_Joker

I'd like to use Go for a web app, but my partner only knows python. Is there a way we can both get what we want?

<p>tl;dr: Is it <strong><em>plausible</em></strong> for me and a partner to develop a web app in pyhton and Go?</p> <p>I mostly take care of the models and views while he does the logic and data analysis/visualization. Our aim is to build a production dashboard with a small collection our charts and raw da...阅读全文

资源 2017-10-21 09:00:10 blov

Parse Bitcoin Ledger To Elasticsearch

Dump Bitcoin Mainnet ledger to elasticsearch. constructed specify format so we can query balance and utxo, the main propose of the repo is for wallet or block explorer Install Environment require: Golang (compile) Dep (package dependency) Elasticsearch (database) Before clone the repo, I wanna let claim that there is a bug I have verified the btcd,...阅读全文

博文 2018-08-14 17:35:19 老码农不上班

Types of GoLang

Types of GoLang [TOC] bool Numeric Types int8, int16, int32, int64, int uint8, uint16, uint32, uint64, uint float32, float64 complex64, complex128 byte rune String Bool bool type represents a boolean, either true or false package main import "fmt" func main(){ a := true b := false fmt.Println("boolean a:",a ,"b:",b) c := a && b d := a || b fmt.Prin...阅读全文

博文 2019-07-12 18:32:40 Cease息事

Docker cgroup资源限制Linux内核机制深入剖析-Docker商业环境实战

专注于大数据及容器云核心技术解密,可提供全栈的大数据+云原生平台咨询方案,请持续关注本套博客。如有任何学术交流,可随时联系。更多内容请关注《数据云技术社区》公众号。 1 cgroup 核心概念 docker 通过 cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。 subsystem:基于cgroup的资源管理器,可以看作一种资源(比如CPU,Memory, I/O等),实现对一个cgroup的task的调度和控制 cgroup:以某种方式,将某些任务和subsystem进行关联。一个subsystem就是一个内核模块,他被关联到一颗cgroup树之后,就会在树的每个节点(进程组)上做具体的操作。subsystem经常被称作"re...阅读全文

博文 2019-09-03 11:34:30 数据云技术社区

愿码(ChainDesk.CN): Go语言入门指南(一)

第一章:Ubuntu的安装http://www.chaindesk.cn/witbook/13/172?20190301meiti第二章:Linux文件管理和常用命令http://www.chaindesk.cn/witbook/13/173?20190301meiti第三章:配置golang环境http://www.chaindesk.cn/witbook/13/174?20190301meiti第四章:第一个helloworld程序http://www.chaindesk.cn/witbook/13/175?20190301meiti第五章:安装goland集成开发工具http://www.chaindesk.cn/witbook/13/176?20190301meiti第六章:基本语法...阅读全文

博文 2019-03-01 12:34:43 ChainDesk

ubuntu 安装 Golang

1. 先安装官方版本 apt install golang-go2. 再替换新版本下载 go最新下载链接在: https://golang.google.cn/dl/ 上wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gzwget https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz解压tar zxvf go1.10.3.linux-amd64.tar.gz -C /usr/local配置环境变量nano ~/.bashrc添加export GOROOT=/usr/local/goexport GOPATH=/gopathexport PATH=$PATH:$GOP...阅读全文

博文 2018-11-20 14:34:50 庐州散人2017

安装golang(1.9)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011019726/article/details/77584708 golang1.5以后实现了自编译,也就是用golang开发golang。因此在安装新版本的golang时需要先安装一个golang1.4版本 安装golang1.4 wget https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz tar -xf go1.4-bootstrap-20170531.tar.gz cd go/src ./make.bash 成功后信息 Installed Go for linux/amd64 in /home/...阅读全文

博文 2018-12-17 18:31:33 u011019726

Docker容器实战(七) - 容器眼光下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一搞,进程就真的被“装”在了一个与世隔绝的房间里,而这些房间就是PaaS项目赖以生存的应用“沙盒”。 还有一个问题是:墙外的我们知道他的处境了,墙内的他呢? 1 容器里的进程眼中的文件系统 也许你会认为这是一个关于Mount Namespace的问题 容器里的应用进程,理应看到一份完全独立的文件系统。这样,它就可以在自己的容器目录(比如/tmp)下进行操作,而完全不会受宿主机以及其他容器的影响。 那么,真实情况是这样吗? “左耳朵耗子”叔在多年前写的一篇关于Docker基础知识的博客里...阅读全文

博文 2019-10-17 02:32:49 aside section ._1OhGeD