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

Go语言开发环境1.6

http://www.golangtc.com/download 下载1.4.2和1.6.2 tar -zxvf go1.6.2.linux-amd64.tar.gz -C /usr/local/src/ln -s /usr/local/src/go1.6.2 /usr/local/go 设置go的环境变量 vi /etc/profile source /etc/profile 写一个简单的go例子 sayhello.go 和同属于sayhello 目录中的 .go源代码文件 会生产代码包(.a) 文件类似c语言的静态库,每个源代码都可以有一个init函数 hello.go 导入sayhello代码包 调用代码包中sayhello.go源代码的Hello方法输出字符串 import 格式 【...阅读全文

java语言到底是翻译型还是解释型

背景 计算机执行的指令都是L0 翻译过程会将高级语言编译成新的L0程序 解释过程不会生成新的L0程序,由L0编写的解释器去解释L1程序 程序翻译 将较为高级的语言L1,通过编译,翻译成计算机可执行的语言L0 翻译型语言:C/C++、Object-C、Golang 程序解释 通过可执行语言L0实现一个新程序---解释器,直接在解释器上运行L1语言 解释型语言:Python、Php、Javascript 结论 java语言是翻译+解释型语言,C#也是 【翻译】将java程序翻译为JVM字节码 【解释】通过JVM程序解释字节...阅读全文

博文 2019-11-08 12:32:55 更多精彩内容JAVA到底是编译型语言还是解释型语言?疾风劲草_233JVM、Java编译器和Java解释器一个会写诗的程序员浅谈Java语言是编译型还是解释型值得一看的喵编程语言乱炖码园老农解释型语言python小生很忙

Golang在大数据领域中的应用之唯品会高吞吐量Access Log存储的实现

潘卫华 / 唯品会基础架构部架构师,唯品会Dragonfly日志系统负责人。对 Elasticsearch 和大数据流式处理有丰富经验,对Golang及其程序的性能优化也有较多研究。前言大家下午好!我是来自唯品会基础架构部的潘卫华。今天我们来跟大家一起看看在大数据领域里面,Golang的应用。我们知道在大数据领域里,Java 和 Scala 语言基本是处于统治地位的,主要是因为像 Hadoop 以及基于 Hadoop 的一些工具栈,比如 HBase/Hive/Spark/Flink 等等,这些都是基于 Java 或者 Scala开发,他们提供 的api 也是主要给 Java 系的语言来使用的。不过实际在项目过程中,我认为还是在一些地方Golang是可以有用武之地的。我将从以下几个方面作分享:...阅读全文

博文 2019-01-24 22:17:35 Go中国

难上加难!扒一扒IDC行业背后那些不为人知的心酸......

大家都说IDC行业待遇好,薪酬高,事实真的如此吗?光鲜背后的心酸和压力只有IDC人自己知道,来看看IDC从业者都是怎么描述的。 ​01 把人逼成“鬼”的IDC运维夜深人静,凌晨两点,IDC运维团队还在悄无声息的忙碌中。客户的条件越来越高,硬件更新越来越快,业务需求越来越紧急,运维的压力也越来越大。业务天亮就得上线,这一切只能在业务最少的时候进行,设备半夜2点以后才能进场......两眼紧盯屏幕,监控设备运转,为保障业务稳定运行,7X24小时运维值守已经成为习惯,脸色惨白自嘲“吸血鬼”,偶尔也产生错觉,自己到底是人还是鬼? 02 中年危机下不知所措的IDC销售现在经济情况不太好,客户是能省钱就省钱,需求还一天三变!再加上这两年云计算的冲击,业务量越来越惨淡。但是公司对增长的预期丝毫没有减弱,前...阅读全文

博文 2020-06-05 17:12:47 gogogochong

Go语言安装与liteIDE配置

Go语言安装与liteIDE配置: 我以windows10 64位操作系统为例进行安装: 首先从官网上下载go安装包:我以go1.7rc6.windows-amd64.msi为例,也有以压缩文件的形式提供下载。 下载完成后直接双击进行安装。一路next你懂得,其中安装目录界面:你可以放到自己想要放的目录,也可以默认他自己的目录。我以d:\go目录为例,一路安装下去即可。 安装完成后,系统已经帮你配置好了环境变量,所以自己并不需要手动配置。 在命令行中输入:go 回车,底下出现一大堆就是成功了。 此时go语言安装完成。要选择一款好的编译器,其实很多文本编辑器已经很好的支持了go语言,本文介绍的一款编译器是LiteIDE,他是专门为go语言开发的一款编译器。 下载后lliteIDE后,直接解压就...阅读全文

博文 2016-11-07 03:00:09 striver_jt

go language

https://go-zh.org/doc/install Linux、Mac OS X 和 FreeBSD 的安装包 下载此压缩包并提取到/usr/local 目录,在/usr/local/go 中创建Go目录树。例如: tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz 该压缩包的名称可能不同,这取决于你安装的Go版本和你的操作系统以及处理器架构。 (此命令必须作为root或通过 sudo 运行。) 要将 /usr/local/go/bin 添加到 PATH 环境变量,你需要将此行添加到你的 /etc/profile(全系统安装)或 $HOME/.profile 文件中: export PATH=$PATH:/usr/local/go/b...阅读全文

博文 2015-12-22 18:00:01 u011613321

优雅地实现 TCP 压缩传输

集群式、负载均衡的RPC框架 rpcx支持多种的序列化库,可以有效的减少消息体的大小,但是对于字符串或者图片的字节slice,明显还可以进一步的压缩,正如fasthttp作者valyala在他的新的开源项目httpteleport中描述的: 通过1G的带宽传输10G的数据 (夸张)。 为了在RPC的传输中减少传输的数据大小,我在不影响rpcx整体框架的基础上,参考了httpteleport的实现,对net.TCPConn进行了封装,实现了压缩/解压缩功能的net.Conn,可以有效的减少带宽,节省公司在带宽上的花费, 以下就是具体的实现。 首先介绍两种压缩格式。 zip 是常用的一种压缩格式,Go标准库中提供了它的实现。zip原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于...阅读全文

博文 2017-02-08 12:53:43 smallnest

Go语言目录压缩,"archive/zip","path/filepath"

package main import ( "archive/zip" "fmt" "io" "os" "path/filepath" "strings" ) func main() { var ( Path = os.Args[1] Name = os.Args[2] ) File, _ := os.Create(Name) PS := strings.Split(Path, "\\") PathName := strings.Join(PS[:len(PS)-1], "\\") os.Chdir(PathName) Path = PS[len(PS)-1] defer File.Close() Zip := zip.NewWriter(File) defer Zip.Close() wa...阅读全文

博文 2015-06-17 23:07:40 fyxichen

golang之cgo---调用C/C++动态库函数

之前说过golang调用C代码的方式可以通过cgo或者是swig,而cgo是不能使用C++相关的东西的,比如标准库或者C++的面向对象特性。怎么办,将c++的功能函数封装成C接口,然后编译成动态库,或者是功能较为简单的可以直接嵌入到go源文件中。   cgo的使用是在linux平台上,在windows平台上可以配置交叉编译器。 动态库头文件:myfuns.h #pragma once #include #include #include #include void fun1(); void fun2(int a); int func3(void **b); // others 动态库名:myfuns.so...阅读全文

博文 2016-07-17 03:00:01 FreeApe

在 Cloud 9 中搭建和运行 Go

简介 自从使用了Chromebook,我脑中一直充斥着在云端开发的念头。在我使用过的位数不多的在线开发环境中,唯有 Cloud 9令我比较满意。实际上,Cloud 9还不支持Go的开发,因此本文我将教大家如何让Go在Cloud 9上运行。 创建你的工作区 第一步,创建一个workspace,根据个人喜好命名。 工作区创建完成后,点击开始编辑按钮,你讲看到一个空白的工作区和一个README.md文件(删了也无所谓)。 在工作区的底端,你可以看见控制台,也就是接下来我们要进行操作的地方。如果你希望使用一个更纯粹的控制台,你可以在下面位置启动它: View > Terminals > New Terminal C9最牛逼的地方在于它的虚拟环境,如果你熟悉linux下的命令行,那么上手将轻而易举。既...阅读全文

博文 2014-11-13 12:00:00 zajin

以alpine镜像为基础将go应用部署在docker中

当用docker进行部署go应用时,我们可以选择docker中的golang镜像。 但为了更快的启动速度和更小的磁盘占用,我们推荐以alpine镜像作为基础镜像。 Alpine 操作系统采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。 Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB) 有人可能会有疑问:为什么可以采用alpine镜像呢?alpine镜像不是没有go环境吗? 你的疑问是对的。alpine的确没有go环境。但是我们可以...阅读全文

博文 2019-05-13 19:34:52 louhangfei

使用Go开发前端应用

前言 我们知道,在目前各种容器化盛行的时代,Go在开发容器化应用当中,成为大家首选的后端开发语言。目前,最流弊的容器化管理编排系统k8s,几乎每个大的云厂商都在使用。而k8s就是Google使用go语言开发出来的。而现在,go已经可以用来开发前端语言了,有种“一切可以用go语言实现的功能,最终都会用go语言实现”的感觉。这篇文章主要用来介绍,用go语言如何入门前端开发。 go开发环境安装 首先,你需要先下载安装一下go。下载地址:golang.org/ 安装其实很简单,这里就不说了,安装完成之后,控制台执行下如下命令,确认下go的安装是否成功。 go version 复制代码 如果能够正常输出,证明你的环境已经安装好了,是不是很简单? go为什么可以用于前端开发 go在1.11版本中,加入了...阅读全文

博文 2020-04-22 15:39:53 zhongzhong05

Golang gzip压缩的一个问题

func (b *MyBucket) Gzip(data []byte) []byte { var res bytes.Buffer gz, _ := gzip.NewWriterLevel(&res, 7) _, err := gz.Write(data) if err != nil { Log4e(err) } else { gz.Close() } return res.Bytes() } 最近将图片使用gzip压缩上传到s3, gzip压缩的过程中,Write之后一定要及时Close,不能defer, 这样才能flush, 否则得不到任何数据, 这个问题没注意, 查了半天...阅读全文

博文 2016-02-19 00:00:01 u013834131

大幅提升 golang 写日志序列化性能实践

线上服务,需要记录日志量比较大,便于排查问题,同时,线上要求所有日志需要经过rsyslog 灌到kafka 中去,我们日志需要按规定格式序列化。我们使用的log库是 "github.com/Sirupsen/logrus"。 那么问题来了,golang 的序列化性能真的是一言难尽。 从网上资料来看,Protocol Buffers 性能好于json, 而使用json 的话,有个很经典的性能对比图, 具体数据不太重要,结论就是 官方的json 最差,滴滴开源的json 库大致是目前市面最好。然后我们就列出了几个方案。 第一个方案,使用monkey patch ,替换到系统的encoding/json。 第二个方案是直接在log 模块中直接重写json formater 。由于第一种方式会导致调...阅读全文

博文 2018-03-27 23:33:05 caucy

Mandelbrot in Golang gomandel

gomandel是一个用go语言写的简单的mandelbrot demo。使用OpenGL+ SDL来显示,用软件来绘制Mandelbrot。 通过使用双精度点计算一个Mandelbrot,并正常化这些值,从而使得调色板均匀分布。 ![image](http://static.oschina.net/uploads/space/2016/0316/171522_8hVM_2652078.png) ### 安装 运行以下代码安装:

go get github.com/nfnt/resize
### 运行 在mandelbrot将 x, y 和...阅读全文

请教go-sql-driver/mysql库的问题

我是用go-sql-driver/mysql库创建了一个连接池。在链接数据库时,发现无法控制数据库的连接数。 我在程序中写了10个协程,一直发sql命令。但是发现数据库那边会有比我协程数多的链接在。我想控制链接数量,请问有什么办法么? SetMaxIdleConns的设置是做什么的?设置为0的时候,和数据库的链接就全部成了短链接了。而设置成1的时候,我协程数开为0,还会有个空闲链接连着...阅读全文

代码中的缩进线

![我在2016年伦敦Golang英国会议上谈论代码缩进线](https://raw.githubusercontent.com/studygolang/gctt-images/master/line-of-sight/1_CBjBs9EzL8q1AL6XvjjpJg.png) 在近期伦敦举行的 [Golang 英国会议](https://www.youtube.com/watch?v=yeetIgNeIkc) 上,我在[地道的Go 语言窍门](https://www.youtube.com/watch?v=yeetIgNeIkc) 交流([幻灯片](http://go-talks.appspot.com/github.com/matryer/present/idiomatic-go-tri...阅读全文

博文 2018-05-10 19:58:56 polaris

zstd,未来可期的数据压缩算法

tl;dr(太长不读): zstd是Facebook在2016年开源的新无损压缩算法,优点是压缩率和压缩/解压缩性能都很突出。 在我们测试的文本日志压缩场景中,压缩率比gzip提高一倍,压缩性能与lz4、snappy相当甚至更好,是gzip的10倍以上。 zstd还有一个特别的功能,支持以训练方式生成字典文件,相比传统压缩方式能大大的提高小数据包的压缩率。 在过去的两年里,新版本的Linux内核、HTTP协议、以及一系列的大数据工具(包括Hadoop 3.0.0,HBase 2.0.0,Spark 2.3.0,Kafka 2.1.0)等都已经加入了对zstd的支持。 可以预见,zstd将是未来几年里会被广泛关注和应用的压缩算法。 最近了解到了zstd这种新的压缩算法。不像lz4,lzo,sn...阅读全文

Fix cannot find package "golang.org/x/text/unicode/norm"

和上文类似,同样是在安装bleve这款全文搜索引擎上出现的问题。 编译错误信息 cannot find package "golang.org/x/text/unicode/norm" in any of: /Users/.../projects/go-projects/src/github.com/blevesearch/bleve/vendor/golang.org/x/text/ unicode/norm (vendor tree) /usr/local/go/src/golang.org/x/text/unicode/norm (from $GOROOT) /Users/.../projects/go-projects/src/golang.org/x/text/unicode/no...阅读全文

博文 2017-09-02 05:31:37 Tyro_java

使用Go语言 生成iOS SDK

使用Go语言 生成iOS SDK 一.使用brew安装Go 1、安装命令 brew install go 2、检查 输入brew info go 或者 go env 即可查看当前安装的golang版本信息 3、配置go路径环境 主要是GOROOT和GOPATH GOROOT:就是go的安装环境 GOPATH:作为编译后二进制的存放目的地和import包时的搜索路径。其实说通俗点就是你的go项目工作目录。通常情况下GOPATH包含三个目录:bin、pkg、src。 src目录下主要存放go的源文件 pkg目录存放编译好的库文件,主要是*.a文件; bin目录主要存放可执行文件 注意:千万不要把GOPATH设置成go的安装路径,可以自己在用户目录下创建一个目录,例如mygo 一般安装好go之后,...阅读全文

博文 2018-10-09 19:34:43 MKAR

Unikernel 编译和部署平台 UniK

UniK(发音 you-neek)是一款可将应用程序源编译成 unikernels(轻量级的可启动磁盘镜像),而不是编译成二进制文件的工具。 UniK 利用一个简单的 docker-like 命令行接口,使得构建 unikernels 像构建 containers 一样容易。 UniK 是为了易于扩展而构建的,允许(且鼓励)为 unikernel [编译器](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/README.md)和云计算[提供器](https://github.com/emc-advanced-dev/unik/blob/master/docs/providers/README.md)添...阅读全文

eclipse搭建java+python+go+c++开发环境

下载基于java的eclipse,再基于安装以下插件。支持Linux,Windows 和 Mac系统。 PyDev************************************** 在Eclipse中安装pydev插件 启动Eclipse, 点击Help->Install New Software... 在弹出的对话框中,点Add 按钮。 Name中填:Pydev, Location中填http://pydev.org/updates 离线包: 目前的最新版是PyDev x.x.zip,将压缩文件解压出来。得到features和plugins两个文件夹,然后将两个文件夹中的文件分别拷贝到Eclipse安装目录下的features和plugins目录中 cdt************...阅读全文

博文 2016-03-28 17:00:01 openownworld

python哪种解释器好用?初级python

Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器: **CPython** 当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。 **IPython** IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是...阅读全文

linux常用命令面试(4)

1 (ZZ)命令是在vi编辑器中执行存盘退出 A :q B ZZ C :q! D :WQ 2 用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决? 1 删除linux网卡 eth0的uuid Mac地址 2 清空 /etc/udev/rules.d/70-persistent-net.rules 3 reboot 3 常用网络检测命令及参数列举说明 1 ping 2 telnet 3 netstat -lntup 4 traceroute 4 脚本实现:查找目录/var/log/下大于1M的文件移动至/tmp/log下 find /var/log ...阅读全文

golang笔记——包

1、包简述 GO本身没有项目的概念,只有包,包括可执行包和不可执行包,而不管什么包,都应该包含在 $GOPATH/src 目录下,GO命令和编译器会在 $GOPATH/src 目录下搜索相应的包。比如 import "logging" 则会在所有设置的 $GOPATH/src 下去寻找相应包,而不仅仅是当前项目中。 2、包声明 在每一个代码文件中,都需要使用 package 命令来声明包名,所以在GO语言中,代码文件属于哪个包与文件目录结构没有必然联系,但习惯上我们会设置成跟目录结构相同。带来的问题就是当想修改文件夹名的时候,会想去修改该文件夹中所有代码中的声明的包名。 注意,命令源码文件,即 main 函数所在的包,必须声明为 main 包。 3、包导入 通过 import 命令来导入包,...阅读全文

博文 2016-02-18 03:00:00 tianyajuanke

从 Apache RocketMQ 和 Kafka 看 Topic 数量对单机性能的影响

摘要: 这次,我们来模拟一个真实的场景: * 消息的发送和订阅一定是共存的 * 要支持多个订阅端订阅自己感兴趣的消息 我们将针对 RocketMQ 和 Kafka,对比在上述场景中,究竟谁更胜一筹。 阿里云消息队列测试小组 出品 上一期我们对比了三类消息产品(Kafka、RabbitMQ、RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务只有发送消息。本期,我们就来模拟一个真实的场景: 消息的发送和订阅一定是共存的 要支持多个订阅端订阅自己感兴趣的消息 本期我们将针对 RocketMQ 和 Kafka,对比在上述场景中,究竟谁更胜一筹。在正式开始测试之前,首先要向大家明确2个概念: 查...阅读全文

[译]REST和微服务——用异步交互分解单体系统

前段时间我大发雷霆,因为有人曲解了REST在微服务中的作用,而且没能正确使用它。有人认为无法基于HTTP进行异步交互,所以基于HTTP的单体系统无法被分解成微服务。大多数人认为HTTP就是REST,这是件让人感到悲哀的事情。在我们的行业里,这些人都是很有经验的,本该知道这两者其实是不一样的。如果你也分不清它们之间的区别,那么请先看看Rest Cookbook或者Roy博士的文章。 好吧,似乎有点跑题了,让我们回到之前说的问题上:我之所以大发雷霆,是希望把大家引导到正确的方向上,同时给大家提供一些建议。 REST和HTTP 首先,并不是说构建微服务一定要基于HTTP。关于这个,可以看看InfoQ上早前发表的一些相关文章,或者回顾过去7年我们在WildFly/EAP及其它项目上所做的事情。 HT...阅读全文

博文 2016-08-05 11:19:13 xuemingdeng

IIS 反向代理 golang web开发

一. beego 开发编译 bee run 后会编译成 exe文件 编译生成后发布文件结构为 cmd 运行 cd D:/run beegoDemo.exe run 默认配置端口 不能为 80 跟iis 80 端口重复,如果用其他端口又不能绑定多个域名 所以 go 运行的进程用 非80 端口 比如 89 二. 配置IIS 反向代理 新建网站 直接访问 http://bee.91jzl.com...阅读全文

博文 2017-07-20 04:00:02 echosong

币币交易能够减少成本方便快捷的兑换你想要的数字资产

数字资产是一个比较大的概念,币币交易平台主要是针对区块链数字资产之间的币与币之间的快捷兑换,减少用户的投资成本和时间成本。作为区块链技术的第一个实际应用场景,数字资产交易平台在很大程度上是在对区块链技术特点的推广,因此数字资产交易平台一直是数字资产的有力助手。玩家想要进入币圈就先要从购买数字资产开始。在进入“币圈交易”之前,想要购买数字资产有两个途径:1、找熟人购买 2、上平台用户可以通过 OTC 场外交易来完成法币与数字资产的兑换。场外法币交易类似于淘宝的 C2C 平台,用户直接与用户交易,而平台则作为担保方。找熟人购买的这种情况到目前为止是比较少的。所以就会上平台购买,因为在2017年九四之前是用法币交易(直接用法币购买数字资产,平台坐庄)。而在九四之后法币交易直接演变成了币币交易和场外...阅读全文

博文 2019-10-28 16:28:03 yanfaruiec

DockOne微信分享(六十七):互联网场景下闪存优化测试和应用

【编者的话】闪存在这几年存储领域发展非常快,应用也越来越广泛,如何能更好的使用闪存,本次分享讲一些闪存相关的优化和应用。 闪存应用场景数据库NoSQL分布式存储CDN公有云存储 综合上面几种场景看,闪存主要适合有比较高的随机IO需求和带宽需求的场景。场景选择上,也是要发挥闪存的长处。目前上面业务中 未来几年发展比较快的会是在公有云存储这一部分。下图就是某厂商云盘对比,可以看到闪存的价格已经很接近机械硬盘了,而单从每IOPS成本看,性价比会更高。 闪存概述固态硬盘,不过可以从广义理解,从2010年开始在互联网行业大规模应用,性能和稳定性已经得到大规模集群线上验证,应用场景已经非常广泛。当然闪存的IOPS比传统机械硬盘高几个数量级,但是更核心的还是在延迟降低上,优势更大。 上图就很好的说明了,闪...阅读全文

博文 2017-06-25 16:25:07 远洋li

02、环境搭建

Go语言环境安装Go安装包下载网址: Golang中国:https://www.golangtc.com/download GO语言中文网: https://studygolang.com/dl 有zip压缩版和msi安装版两个按本下载。(这里使用msi安装版,比较方便)。 运行msi安装文件,千万不要在安装路径中出现中文,一路Next。 安装完成后CMD输入go version 不报错说明安装成功 图1 安装开发工具对于开发工具个人是选择IntelliJ IDEA+GO插件方式IntelliJ IDEA下载地址 http://www.jetbrains.com/idea/安装时一路Next激活方法:http://idea.lanyus.com/安装GO插件:Configure -> Plu...阅读全文

博文 2018-06-30 09:34:41 airan587

在 Cloud 9 中搭建和运行 Go

简介 自从使用了Chromebook,我脑中一直充斥着在云端开发的念头。在我使用过的位数不多的在线开发环境中,唯有 Cloud 9令我比较满意。实际上,Cloud 9还不支持Go的开发,因此本文我将教大家如何让Go在Cloud 9上运行。 创建你的工作区 第一步,创建一个workspace,根据个人喜好命名。 工作区创建完成后,点击开始编辑按钮,你讲看到一个空白的工作区和一个README.md文件(删了也无所谓)。 在工作区的底端,你可以看见控制台,也就是接下来我们要进行操作的地方。如果你希望使用一个更纯粹的控制台,你可以在下面位置启动它: View > Terminals > New Terminal C9最牛逼的地方在于它的虚拟环境,如果你熟悉linux下的命令行,那么上手将轻而易举。既...阅读全文

博文 2014-11-06 18:00:00 cmy00cmy, 5th_days

Ego2014916001——golang开发环境搭建(支持交叉编译环境)

本文介绍在windows下面建立GO语言的开发环境。实现可以编译windows-386、linux-386、linux-arm平台的程序。这三种情况是有本人亲自测试通过的。 获取安装软件,均可直接安装到windows下面 http://download.csdn.net/detail/seek_0380/7924665 http://download.csdn.net/detail/seek_0380/7924689 http://download.csdn.net/detail/seek_0380/7924631 上面三个下载链接分别是go的windows编译器,go的交叉编译器,go的IDE 安装 分别点击软件安装,注意go的windows交叉编译器安装目录一定要记住,后面要用到点击Mi...阅读全文

博文 2016-04-08 00:00:23 seek_0380

在Sublime Text里开发go

文出自:http://blog.csdn.net/lindonglian/article/details/50659776 用sublime写了很久的markdown文档,这次环境配置省事很多。 装个GoSublime插件,和其他插件的安装方式一样,很easy! 在sublime里想要有代码提示得有gocode,上github下个。如果没装客户端也不是非得下个,github上不是有”download zip”吗。 gocode在git上的地址是https://github.com/nsf/gocode,下到本地的文件夹是gocode-master,我把它拷到go的安装目录bin文件夹下,改名为gocode 在cmd里编译成exe 这个是代码提示用的 写个helloworld ctrl+b调出...阅读全文

博文 2016-02-21 18:00:02 u011731233

Golang 在国产化平台中应用

背景国产化平台主要以Linux系统为主,CPU架构包括Arm、MIPS、PowerPC等。基于国产化平台开发的系统应用大多需要适配多CPU架构。Go语言跨平台编译特性能很好适应这种异构需求。跨平台编译Go语言支持交叉编译,例如:在linux开发环境中:GOOS=linux GOARCH=arm go build -ldflags"-s -w" -i -o ./bin/bitA main.goGOOS=linux GOARCH=arm go build -ldflags"-s -w" -i -o ./bin/bitM main.go在windows开发环境中:创建编译脚本:build.batset GOPROXY=https://goproxy.ioset GOOS=linuxset GOAR...阅读全文

博文 2020-04-13 21:32:50 holimon

5种Python实现方式简单介绍

本文转自老男孩教育,转载请注明出处:http://www.oldboyedu.com python就是是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,语言因其简洁性、易读性以及可扩展性受到欢迎。 python可用于图形处理、数学处理、文本处理、数据库编程、网络编程、Web编程、多媒体应用、pymo引擎、黑客编程、用Python写简单爬虫、人工智能等。 Python有不同的形式,我们常说的Python其实是Cpython,除此之外,还包括Jython、IronPython、PyPy和Pyston等,以下是对其简要介绍: **CPython** CPython是标准Python,也是其他Python编译器的参考实现。通常提到“Python”一词,都是指CP...阅读全文

win10下安装配置Go-SDK及IDEA开发go环境的配置

下载最新版的SDK压缩包,传送门:https://golang.org/dl/ 点击win1064位.zip文件下载 将压缩包解压到E盘下并重命名为GOSDK 配置环境变量: 环境变量 说明 GOROOT 指定Go-sdk的安装路径 Path 添加Go-sdk的/bin目录 GOPATH Go项目的工作路径 新建系统变量GOROOT指定sdk的安装路径 添加go-sdk的/bin路径到系统变量Path中 新建系统变量GOPATH指定go项目存放的路径 测试环境变量是否配置成功:打开cmd,依次键入go version和go env,显示如下表示配置成功。 打开IDEA,依次点击Configure >> Plugins 或者 File >> Setting >> Plugins,点击Insta...阅读全文

聊一聊高并发高可用那些事 - Kafka篇

目录 为什么需要消息队列 1.异步 :一个下单流程,你需要扣积分,扣优惠卷,发短信等,有些耗时又不需要立即处理的事,可以丢到队列里异步处理。 2.削峰 :按平常的流量,服务器刚好可以正常负载。偶尔推出一个优惠活动时,请求量极速上升。由于服务器 Redis,MySQL 承受能力不一样,如果请求全部接收,服务器负载不了会导致宕机。加机器嘛,需要去调整配置,活动结束后用不到了,即麻烦又浪费。这时可以将请求放到队列里,按照服务器的能力去消费。 3.解耦 :一个订单流程,需要扣积分,优惠券,发短信等调用多个接口,出现问题时不好排查。像发短信有很多地方需要用到, 如果哪天修改了短信接口参数,用到的地方都得修改。这时可以将要发送的内容放到队列里,起一个服务去消费, 统一发送短信。 高吞吐、高可用 MQ 对...阅读全文

博文 2020-06-07 16:32:43 伟洪winnie

golang如何把一段buffer的内容生成zip文件

golang如何把一段buffer的内容生成zip文件 在前面的例子中,我们介绍了如何把一个文件压缩成zip文件,包括如何把多个文件、目录一起压缩成一个zip文件。 这里我们介绍如何把一段buffer的内容生成zip文件;例如我们从网络接收外端发送的数据,然后要把收到的数据压缩生成一个一个zip文件。 package main import ( "io" "log" "bytes" "io/ioutil" "archive/zip" ) func main() { var err error var zipBuffer * bytes.Buffer = new(bytes.Buffer) var zipWriter * zip.Writer = zip.NewWriter(zipBuffer...阅读全文

博文 2019-05-05 18:34:59 CodingCode

golang 压缩原apk文件夹 安装不了 但是用其他压缩软件压缩后能安装?求解决我想golang批量打包apk

package main import ( "archive/zip" "errors" "fmt" "io" "os" "path/filepath" "strings" ) func SubString(str string, begin, length int) (substr string) { // 将字符串的转换成[]rune rs := []rune(str) lth := len(rs) // 简单的越界判断 if begin < 0 { begin = 0 } if begin >= lth { begin = lth } end := begin + length if en...阅读全文

Docker部署Golang程序方法

之前我写过如何部署Golang程序到服务器,这次咱们来写写怎么利用Docker来部署我的Golang,当然如果要部署到Docker里面,Docker是必须安装的,可以点击这里查看安装步骤。 文/谦益 这篇文章可能不太适合对go和Docker零基础人士阅读,需要有一定的基础知识。 依赖知识 Go交叉编译基础 Docker基础 Dockerfile自定义镜像基础 docker-compose编排文件编写基础 当然,一点也不会也可以按照这个步骤部署完成,不过可能中间如果出点小问题,会不知道怎么解决,当然你也可以留言。 我是在mac环境上开发测试的,如果你是在windows上可能有一点出入,但应该不会有啥大问题。 一、依赖环境 Docker 二、编写一个GoLang web程序 我这里就写一个最简单...阅读全文

博文 2018-06-25 08:34:39 _谦益_

windows 下搭建 GoLang 语言开发环境

首先从网上下载 windows golang 环境 http://code.google.com/p/gomingw/downloads/list 64 和 32 分别下载 amd64 和 386的 压缩包。 我的电脑是 64 bit windows 7 所以下载 gowinamd64_weekly.2012-01-15.zip 这个事每周 打一个版本的。。更新速度还是挺快的。 然后解压缩到 d:/soft/go/目录下 然后安装 eclipse go 插件: http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/ 更新重启 eclipse 然后配置 golang 目录: 创建一个工程。写一个helloworld 如下: ...阅读全文

博文 2014-12-15 13:00:02 freewebsys

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

服务器日期切分文件定时清理与压缩备份shell脚本

随着服务器运行,业务日志不断增长,之前文章提供的日志器可对业务日志文件进行按天、大小、普通三种模式切分,本脚本是为解决服务器存储压力,对日切分日志文件进行定时清理与压缩存储,需要与crontab结合使用,脚本中提供了crontab脚本,可通过crontab -e进行添加,脚本采用系统自带的tar压缩为zip格式,压缩比率约为原文件1/4,日志文件路径需要对脚本文件FILE_DIR宏进行设置,FILE_DIR_BACK为备份文件路径,DEL_FILE_NUM为任务执行清理自当前时间内的文件,DEL_FILE_RET为保留的最近文件数,脚本运行参数如下:test 用于测试,产生目标格式的日志文件及压缩文件clear 用于清理文件backup 用于备份文件run 清理文件同时备份文件crontab...阅读全文

博文 2017-07-11 01:19:33 hansegod

Go交叉编译windows程序

在Mac下编译一个调用了 sqlite3 的程序。 安装 sqlite3 运行 go get github.com/mattn/go-sqlite3 go install github.com/mattn/go-sqlite3 windows安装sqlite3 请访问 SQLite 下载页面,从 Windows 区下载预编译的二进制文件。 您需要下载 sqlite-tools-.zip 和 sqlite-dll-.zip 压缩文件。然后创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。 添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,就...阅读全文