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

在Golang中获取DNS记录

使用Golang获取域名的DNS记录, 包括A / CNAME等类型. 方案1: 官方net包 只举例获取CNAME类型的解析记录, 其他类型大同小异. func CNAME(src string) (dst string, err error) { dst, err = net.LookupCNAME(src) return } 官方net包调用的是系统API, 所以在不同的系统上可能有不同的结果, 我测试当一个域名的解析记录如下时, linux和windows返回的结果不一致. bysir.xyz. 297 IN CNAME blog.bysir.top. blog.bysir.top. 60 IN CNAME bysir.top. bysir.top. 60 IN A 78.178.2...阅读全文

博文 2019-05-27 19:34:39 bysir

Linux下安装Go环境

我的配置 VPS:VirMach $1.25一个月的VPS 系统:Ubuntu Server 16.04 LTS 64bit Minimal 可以自己创建个虚拟机安装一个Server版的Linux,或者在这里选一个共享主机 登录Linux Mac或Linux的用户可以用命令ssh root@xxx.xxx.xxx.xxx登录主机 Window的用户可以使用SecureCRT登录主机 虚拟机用户直接打开你的虚拟机 安装Go环境 Golang官网下载地址:https://golang.org/dl/ 打开官网下载地址选择对应的系统版本, 复制下载链接 这里我选择的是 go1.10.3.linux-amd64.tar.gz:https://dl.google.com/go/go1.10.3.lin...阅读全文

博文 2018-08-02 19:35:15 Mr_Leung

跨平台编译Go程序(交叉编译)

(1)首先进入go/src 源码所在目录,执行如下命令创建目标平台所需的包和工具文件。 $ cd /usr/local/go/src $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash 如果是 Windows 则修改 GOOS 即可。 $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash (2) 现在可以编译 Linux 和 Windows 平台所需的执行文件了。 $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build $ CGO_ENABLED=0 GOOS=windows GOARCH=amd...阅读全文

命令: go build

go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。当编译单个main包(文件),则生成可执行文件。当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标的依赖关系的包(用于增量编译提速)。 以下 build 参数可用在 build, clean, get, install, list, run, test -a 完全编译,不...阅读全文

博文 2017-02-21 10:00:42 0zaki1sc

仅需简单 5 步,给你的 Golang 程序添加 GUI (使用 Electron )

创建一个 Golang app 是一件简单又轻松的事情,但是有时候你想给你的应用锦上添花:创建一个 GUI! 在本篇文章中,我将通过使用 astilectron 工具中的 bootstrap 以及 bundler 给一个简单的 Golang 程序添加 GUI。 我们的带有 GUI 的 Golang app 能够打开一个文件夹并且展示其中的内容。 你可以在这里找到完成后的 [代码](https://github.com/asticode/go-astilectron-demo) : ![](https://raw.githubusercontent.com/studygolang/gctt-images/master/go-gui-electron/0.png) ## 第一步:组织项目结构 文...阅读全文

博文 2017-12-27 13:44:33 polaris

golang如何获取变量的类型:反射,类型断言

July 29, 2017 in Tech 感觉接口的理解还有些不是很清楚,强写一篇 如果某个函数的入参是interface{},有下面几种方式可以获取入参的方法: 1 fmt: import "fmt" func main() { v := "hello world" fmt.Println(typeof(v)) } func typeof(v interface{}) string { return fmt.Sprintf("%T", v) } 2 反射: import ( "reflect" "fmt" ) func main() { v := "hello world" fmt.Println(typeof(v)) } func typeof(v interface{}) strin...阅读全文

博文 2017-07-30 05:47:10 伊布

Go 系列教程 —— 2. Hello World

这是 Golang 系列教程的第 2 个教程。如果想要了解什么是 Golang,以及如何安装 Golang,请阅读 [Golang 教程第 1 部分:介绍与安装](/articles/11706)。 学习一种编程语言的最好方法就是去动手实践,编写代码。让我们开始编写第一个 Go 程序吧。 我个人推荐使用安装了 [Go 扩展](https://marketplace.visualstudio.com/items?itemName=lukehoban.Go)的 [Visual Studio Code](https://code.visualstudio.com/) 作为 IDE。它具有自动补全、编码规范(Code Styling)以及许多其他的特性。 ## 建立 Go 工作区 在编写代码之前,我...阅读全文

博文 2017-11-28 16:28:49 heyulong

Go 系列教程 —— 1. 介绍与安装

这是我们 Golang 系列教程的第一个教程。 ## Golang 是什么 Go 亦称为 Golang (译注:按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言。 Golang 的主要关注点是使得高可用性和可扩展性的 Web 应用的开发变得简便容易。(译注:Go 的定位是系统编程语言,只是对 Web 开发支持较好) ## 为何选择 Golang 既然有很多其他编程语言可以做同样的工作,如 Python,Ruby,Nodejs 等,为什么要选择 Golang 作为服务端编程语言? 以下是我使用 Go 语言时发现的一些优点: * 并发是语言的一部分(译注:并非通过标准库实现),所以编写多线程程序会是一件很容易的事。后续教程...阅读全文

博文 2017-11-22 06:18:25 heyulong

《Golang 入门系列一》安装和IDE介绍

前言:本文主要介绍Golang的安装和Golang的编辑器的使用,以及我们的第一个经典案例:Hello World. 一、为什么是Golang Golang 又称为 Go,是由 Google 开发的一种开源的、编译型的、静态类型的编程语言。它具有以下特性: Go原生支持并发(Concurrency),因此非常适合编写多线程程序。 Golang 是编译型语言。源代码会被编译成可执行的二进制文件。 Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。 二、Golang开发工具包的选择 我们可以根据自己的机器操作系统选择相应的开发工具包,比如你的是Windows 64位的,就选择windows-amd64的工具包;是L...阅读全文

博文 2017-12-10 15:03:07 IT--小哥

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

Go语言在2016年当选tiobe index的年度编程语言。 转眼间6个月过去了,Go在tiobe index排行榜上继续强势攀升,在最新公布的TIBOE INDEX 7月份的排行榜上,Go挺进Top10: 还有不到一个月,Go 1.9版本也要正式Release了(计划8月份发布),当前Go 1.9的最新版本是go1.9beta2,本篇的实验环境也是基于该版本的,估计与final go 1.9版本不会有太大差异了。在今年的GopherChina大会上,我曾提到:Go已经演进到1.9,接下来是Go 1.10还是Go 2? 现在答案已经揭晓:Go 1.10。估计Go core team认为Go 1还有很多待改善和优化的地方,或者说Go2的大改时机依旧未到。Go team的tech lead R...阅读全文

博文 2017-07-14 08:19:41 bigwhite

还有比这更好的消息吗?— Go支持Android和iOS

minux大神就说了: 代码在 https://bitbucket.org/minux/goios 的 ios3 分支。 初步的文档在 misc/ios/README。交叉编译需要 iOS SDK,得在 OS X 上面开发。理论上如果你能在 Linux 架设交叉编译环境的话,在 Linux 上开发也不是不行。 我计划把这个 port 加入到 Go 1.5。按照 Brad 给出的 1.5 预览, 应该问题不大。http://talks.golang.org/2014/state-of-the-gopher.slide#40 现在的问题是如何架设 builder。 哎,断断续续搞了3年,终于搞定了。我觉得用 Go 开发 iOS 程序比用 Go 开发 Andro...阅读全文

Go的Qt图形库绑定 GoQt

**GoQt** ** 简介 ** GoQt是Go语言的Qt图形库绑定。 * 版本 0.1 * 作者 七叶 ** 试验 ** 目前该项目为试验状态 ** 关于GoQt ** GoQt是一个Go语言的GUI工具包。它允许程序员使用Go语言更加容易的构建功能丰富的图形界面应用程序。GoQt使用cgo代码封装了流行的Qt跨平台GUI库。类似Golang和Qt,GoQt是开源的,其中Qt绑定动态库qtdrv使用LGPL协议,Go语言的ui库则使用BSD协议。 ** 平台支持 ** ### System * Windows x86 (32-bit or 64-bit) * Linux x86 (32-bit or 64-bit) * Ma...阅读全文

开源项目 2015-12-28 16:00:00 网友

轻松搭建基于go1.5开发Android应用的环境

原文[https://blog.weizhe.net/?p=534](https://blog.weizhe.net/?p=534) 有兴趣的同学欢迎来一起玩:[https://github.com/vzever/gomobileapp](https://github.com/vzever/gomobileapp) go1.5beta2已经发布,正式版将在8月份发布.而早在go1.4就已发布了golang/mobile项目用以实现Android应用的开发.当前gomobile的环境部署已经相对成熟了.但项目声明必须基于go1.5,所以go1.4的同学必须要升级.因为在go1.4执行gomobile init的时候是不能通过的. 注:如果没有网络权限访问golang.org,请创...阅读全文

还在为go get github.com/...卡死而烦恼么

> 作为国内开发者,经常遇到一个问题,就是一片热血撞死在伟大的\*\*墙上,只能干着急,下面我们得想办法翻过这个\*\*墙,毕竟我们出去后只是为了干好事儿。 ## go get是怎么运行的 通常会使用http的方式去访问目的地址,然后下载下来。但是内部可能用使用git clone的方式去克隆,既然这样,我们解决办法就是让http和git clone都能同时走上代理,这样就能解决卡死的烦恼 ## 有一个http代理 > 假如已有 http代理是: http://localhost:8118/,后续我们就用这个地址去代理 如果没有http代理,只有socket5代理,需要看下面步骤进行转换 如果连socket5代理也没有,就需要先花钱买或者找一些免...阅读全文

【软件周刊】要的就是速度,Angular 4.0.0 beta0 发布;JetBrains 带来全新 Go IDE — Gogland

要的就是速度,Angular 4.0.0 beta0 发布 由于想将核心包版本对齐,加上语义化版本控制,Angular 2 之后将迎来 Angular 4。更新内容: fix(编译器):修复 compiler_host 中的合并错误 common: add a titlecase pipe common: export NgLocaleLocalization compiler: add id property to i18nMessage compiler: digest methods return i18nMessage id if sets forms: add novalidate by default http: simplify URLSearchParams creation...阅读全文

博文 2016-12-17 13:00:03 局长

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

在已经过去的2016年,Go语言继在2009年之后再次成为编程语言界的明星- 问鼎TIOBE 2016年度语言。这与Go team、Go community和全世界的Gophers的努力是分不开的。按计划在这个2月份,Go team将正式发布Go 1.8版本(截至目前,Go的最新版本是Go 1.8rc3)。在这里我们一起来看一下在Go 1.8版本中都有哪些值得Gopher们关注的变化。 一、语言(Language) Go 1.8版本依旧坚守Go Team之前的承诺,即Go1兼容性:使用Go 1.7及以前版本编写的Go代码,理论上都可以通过Go 1.8进行编译并运行。因此在臆想中的Go 2.0变成现实之前,每个Go Release版本在语言这方面的“改变”都会是十分微小的。 1、仅tags不同...阅读全文

博文 2017-02-06 03:23:51 bigwhite

在 Linux 中使用 Go 作为脚本语言

在 `Cloudflare` 的人们都非常喜欢 Go 语言。我们在许多[内部软件项目](https://blog.cloudflare.com/what-weve-been-doing-with-go/)以及更大的[管道系统](https://blog.cloudflare.com/meet-gatebot-a-bot-that-allows-us-to-sleep/)中使用它。但是,我们能否进入下一个层次并将其用作我们最喜欢的操作系统 Linux 的脚本语言呢? ![image here](https://raw.githubusercontent.com/studygolang/gctt-images/master/go-script/gopher-tux-1.png) ## 为什么考虑...阅读全文

博文 2018-02-27 15:59:22 shniu

分布式存储方案 Minio

在2007年,[GlusterFS](https://www.oschina.net/p/glusterfs)演变为大型分布式存储方案后,任何配备合适硬件的公司,单位都可以利用个做分布式的流媒体,数据分析。在2011年,Red Hat收购了GlusterFS. Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。 Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制...阅读全文

开源项目 2016-09-16 10:00:16 minio

Go 1.6发布 免翻墙下载

Go 1.6 正式版发布 该版本在语言本身层面并没有任何变化,主要改进包括: 1、默认使用 cgo 外部 C 编译器 2、支持 HTTP/2 协议 3、增加对 64 位 MIPS 的体验支持 (Linux) 4、增加对 32 位 x86 上的 Android 的体验支持 5、在 FreeBSD 上 go 1.6 默认使用 clang 而不是 gcc 作为外部 C 编译器 6、在 64 位 PowerPC 上 支持 cgo 7、NaCI 上 GO 1.5 要求 SDK 版本是 pepper-41,而 Go 1.6 可以使用最新的 SDK 版本 8、在 32 位 x86 系统中使用 —dynlink 或者 —shared 编译模式,寄存器 C...阅读全文

第一章 Go安装与运行

Go语言是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型, 函数多返回值,错误处理,匿名函数, 并发编程,反射等特性,并具有简洁、安全、并行、开源等特性。 1.1 Go安装 Go语言支持以下系统: Linux FreeBSD Mac OS Windows 安装包下载地址为:https://golang.org/dl/ UNIX/Linux/Mac OS X,和FreeBSD系统下使用源码安装方法: 1、下载源码包:go1.11.linux-amd64.tar.gz。 2、将下载的源码包解压至 /usr/local目录。 tar -c /usr/local -xzf go1.11.linux-amd64.tar.gz 3、将 /usr/local/go/bin 目录添加至PATH...阅读全文

博文 2018-08-31 21:34:58 roteman

使用golang的反转编写Android应用

在去年oracle和谷歌的官司告一段落,但是Android开发者仍急切谷歌能够想苹果一样,开发自己的编程语言进行Android应用的开发,至于选择什么语言,大多数开发者希望是golang,首先他是谷歌自我研发的一门编程语言,因为他语法简单,运行效率高。 随着golang迭代更新,我们渐渐看到谷歌在这一方面的努力,golang.org/x/mobile的发布,让开发者能够使用go语言使用ndk进行安卓应用的开发。这个链接http://www.jianshu.com/p/403aa507935b 介绍了如何使用gomobile,进行安卓应用的开发和安卓库文件的开发。 但是使用过程中就会发现一个问题,go开发安卓app,要么全部使用go用ndk进行开发(使用OpenGL绘制界面),要么只能用来写库...阅读全文

博文 2017-04-01 02:34:56 tenny1109

以后台进程方式运行 Go 程序

从 1999 年那时开始我就为 windows 写过服务,一开始用 C/C++,后来用 C#。现在我在 Linux 上用 Go 编写服务端软件。然而我没辙了。更令人沮丧的是,我一开始编写软件所用的操作系统并不是我即将部署所用的操作系统。当然,那是后话了。 我想要在我的 Mac 上以后台进程(守护进程)的方式运行代码。而我的问题也是,我无从下手。 我很幸运在 Bitbucket 上找到了由 Daniel Theophanes 编写的名为 [service](https://bitbucket.org/kardianos/service/src) 的开源项目。通过它的代码我学会了如何在 Mac OS 上创建,安装,启动和停止守护进程。当然,这个项目也支持 Linux 和 Windows。 ## ...阅读全文

博文 2018-04-01 20:39:22 snowInPluto

使用Go env命令设置Go的环境

前言 在进行Go开发的时候,设置Go的环境变量信息是必须的。下面介绍windows和Linux,以及Go自身提供的命令进行设置的形式 Linux的设置 In Linux or macOS, you can execute the below commands.(在Linux或者macOS,你可以执行下面的命令) # Enable the go modules feature export GO111MODULE=on # Set the GOPROXY environment variable export GOPROXY=https://goproxy.io 但是这种有个不好的地方,就是如果换一个终端或者重新开机,就没有了。那么我推荐,在/etc/profile.d/这个文件夹下面,写一个...阅读全文

博文 2019-11-05 00:04:18 liuxuzxx

RUOK 科技公司招 Go、PHP、前端、运维和产品等多种职位优秀人才

岗位信息:前端开发 招聘人数:10 学历条件:计算机以及相关专业,本科以上学历 薪水范围:28W - 50W(年薪) 工作地点:柬埔寨 岗位职责: 1. 负责产品前端架构与开发工作; 2. 负责系统架构、开发框架和工具的建设与优化; 3. 负责体验优化,包括但不限于:系统稳定性、业务流程、用户交互、性能、安全等。 岗位要求: 1. 2年以上研发类工作经验; 2. 熟练运用React,Vue,ReactNative,Webpack等前端开发技术; 3. 熟悉Unix/Linux操作系统、熟悉LAMP与LNMP; 4. 掌握至少一门服务器端编程语言(PHP/NodeJS/Python/golang等); 5. 有足够的移动端 Web 开...阅读全文

Azul3D_Go开发的3D游戏引擎简介

Azul3D 是一个用 Go 语言开发的 3D 游戏引擎。支持 Windows 和 Linux,基于 OpenGL 2.x 的渲染器,基于 OpenAL 的 3D 音频。 官网:http://azul3d.org/ 中国有团队开发没有,能开发成为类似cocos游戏引擎的就好了。再加上go的并发服务器,双赢啊。 —————————————————————————————————————— SDL(Simple DirectMedia Layer)是一个自由的跨平台的多媒体开发包,适用于游戏、游戏SDK、演示软件、模拟器、MPEG播放器和其他应用软件。 用途广泛。 SDL内置了调用OpenGL的函数。 通过使用SDL_image、SDL_ttf、SDL_mixer、S...阅读全文

Golang build命令解析

go build,是我们非常常用的命令,它可以启动编译,把我们的包和相关的依赖编译成一个可执行的文件。 usage: go build [-o output] [-i] [build flags] [packages] go build的使用比较简洁,所有的参数都可以忽略,直到只有go build,这个时候意味着使用当前目录进行编译,下面的几条命令是等价的: go build go build . go build hello.go 以上这三种写法,都是使用当前目录编译的意思。因为我们忽略了packages,所以自然就使用当前目录进行编译了。从这里我们也可以推测出,go build本质上需要的是一个路径,让编译器可以找到哪些需要编译的go文件。packages其实是一个相对路径,是相对于我们...阅读全文

博文 2018-07-26 11:30:02 liuzhongchao

Go 1.8的Plugins使用

Go 1.8为我们提供了一个创建共享库的新工具,称为Plugins!让我们来创建和使用一个插件。 目前的插件只能在Linux和Darwin上工作。 安装1.8beta1,不做说明. 创建一个插件方法到aplugin.go: package main func Add(x, y int) int { return x+y } func Subtract(x, y int) int { return x-y } 然后构建插件: 运行下面命令构建插件: go build -buildmode=plugin 构建指定文件插件aplugin.go到aplugin.so: go build -buildmode=plugin -o aplugin.so aplugin.go 加载插件: p, _ := ...阅读全文

博文 2016-12-06 12:00:02 vWay

golang交叉编译

go env检查各项环境变量无误 进入shell环境(Windows为cmd环境),切换到项目工程的源码目录(包含main包的那个目录) 设置好环境变量,关闭CGO(交叉编译不支持所以要关闭),将编译目标平台的环境变量设置好,然后执行go build命令即可,具体方法如下 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build bash shell环境可以使用如上方式,如果是Windows的cmd环境请使用set命令进行设置 CGO_ENABLED关闭CGO,GOOS设置目标操作系统,GOARCH设置目标架构 可组合有如下 $GOOS $GOARCH android arm darwin 386 darwin amd64 darwin arm dar...阅读全文

博文 2018-07-23 17:34:49 昌维

大型互联网公司招 数据分析工程师 — 会 Go 优先考虑

北京大型互联网公司招 数据分析工程师,要求懂编程,目前项目有用Go写一些服务,因此会Go语言的优先考虑; 工作职责: 1. 完成数据模型的ETL实施,参与团队ETL流程的优化以及相关技术问题的解决 2. 设计大规模实时系统,实现数据采集、分析和检索 3. 建立数据仓库,DPM 职位要求: 1. 计算机相关专业大学本科及以上学历,有扎实的计算机基础 2. 精通常用数据结构和算法 3. 精通PHP,熟悉Java/Python/Go/C等语言中的一种或几种 4. 精通SQL,掌握MySQL,熟悉Redis和MongoDB等DB的一种或者多种 5. 熟练掌握Hadoop/MR、Storm、Spark或其它并行计算架构 6. 熟悉Linux...阅读全文

Centos 安装Golang 1.9以上版本

Centos执行yum install golang,安装的go版本为1.8 # go version go version go1.8.3 linux/amd64 如果已经yum安装了go,可以通过下面的命令删掉 rm -rf /usr/bin/go rm -rf /etc/alternatives/go rm -rf /usr/lib/golang 如果想要安装1.9以上版本,得先下载官方提供的tar包,如下: https://storage.googleapis.com/golang/go1.9.4.linux-amd64.tar.gz 如果访问不了,可以从CSDN上下载https://download.csdn.net/download/zhang_gq/10311792 将tar包...阅读全文

博文 2018-03-27 18:33:05 zhang_gq

在 Golang 中开发中使用 Makefile

使用 Golang 已经有一阵了,在 Golang 的开发过程中,我已经习惯于不断重复地手动执行 go build 和 go test 这两个命令. 不过,现在我已经摆脱了这个习惯。如果只用到了不带参数的简单命令,直接这么操作可能并不可怕。但是在一些复杂的任务中,如果依旧是手动执行 go build 和 go test ,就可能会成为一个让人头疼的事情。 我们可以通过其他方式解决这个问题。比如,可以用一个 bash 脚本来完成这些工作,或者一个更好的选择(至少对于我来说)是,写一个 makefile. make 这个工具生来就是为了做这些事情,在 makefile 中我们可以将所有常见的任务都放在一起。我并不是一个 makefile 专家,所以可能不太能够教大家如何写一个好的 makefil...阅读全文

博文 2017-09-23 03:05:03 simple_the_best

聊聊GOPATH、GOROOT

在go语言中环境变量GOPATH和GOROOT需要设置好才可进行开发编译,学过JAVA的朋友理解起来就比较快,这里就这两个变量作个详细的说明,不足之处,请大家批评指正。1. GOROOT简而言之,GOROOT在GO语言中表示的是go语言编译、工具、标准库等的安装路径,在Linux系统中一般安装在/usr/go或者/usr/local/go,这样Linux系统中的PATH变量一般都包含了这两个目录,所以就可以直接运行go命令,而Windows系统中一般默认安装在C:\go中。如果自定义安装go的话,需要设置GOROOT的值,比如在Linux系统中用户如有root用户权限时,想安装go至自己的工作目录中,就要设置GOROOT为自己的HOME目录中,假设安装在/home/目录中的go目录,则需要这...阅读全文

博文 2017-07-02 03:12:12 jasonvfang

Go语言适合干什么

一、我们为什么选择Go语言选择Go语言的原因可能会有很多,关于Go语言的特性、优势等,我们在之前的文档中也已经介绍了很多了。但是最主要的原因,应该是基于以下两方面的考虑:1、执行性能毕竟是类C的执行速度,对于一些服务来说,性能是极其重要的一环,事关系统的吞吐、访问的延迟,进而会影响用户的体验,Go语言通过协程可以方便的实现并行处理,达到处理效率的最大化 ,提升系统的吞吐能力。2、开发效率GO语言使用起来简单、代码描述效率高、编码规范统一、上手快。 通过少量的代码,即可实现框架的标准化,能快速的构建各种通用组件和公共类库,进一步提升开发效率,实现特定场景下的功能量产。二、Go语言能做什么Go 语言从发布 1.0 版本以来备受众多开发者关注并得到广泛使用,Go 语言的简单、高效、并发特性吸引了众...阅读全文

博文 2019-04-23 17:03:00 qfhanru

Goland开发环境搭建详解

Golang开发环境搭建 首先学习一门开发语言首先先要搭建开发环境,有了环境我们才能进行代码的开发,先介绍在一些主流的操作系统编译环境的搭建和IDE选择。 要搭建Go语言开发环境,先下载Go语言的开发工具包,下载下载地址:https://golang.org/dl/,(墙内下载地址http://www.golangtc.com/download),Go为我们所熟知的所有平台架构提供了开发工具包,比如我们熟知的Linux、Mac和Windows,其他的还有FreeBSD等。 下载 根据自己机器的操作系统选择相应的开发工具包,Windows 64位的,就选择windows-amd64的工具包;是Linux 32位的就选择linux-386的工具包,Mac的现在都是64位的,直接选择就可以了。 开...阅读全文

博文 2018-08-19 18:34:47 戎码人生Coding

go源码下载编译

各位大侠,我打算研究下go的一个开源软件influxdb,github上下载下来后,执行build,发现有很多code.google.com/p/log4go 类似的第三方包下载不下来。win7下的开发环境,执行set http_proxy后 执行go get 报错:_ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, 各位是怎么下载的? 还有 go 的开发 一般都是在linux下吗...阅读全文

在win7下进行交叉编译linux-386

在实验这个功能前,照例google出了一堆文章,但都没有on windows的,都是在[linux下编译出windows][1],或者在mac下编译出linux,导致走了不少弯路,其实go的跨平台交叉编译确实也简单,只需要注意以下几点: 1、设置GOOS=linux,并去GOROOT执行make.bat,此处是将所有runtime按目标平台重新编译一次,本以为要编译.exe又得重新make一次,没想到居然不用,这倒是个惊喜 2、设置CGO_ENABLED=0,目前交叉编译是不支持cgo的 3、设置GOARCH=386,amd64就需要安装64的go了 此时就可以编译了,推荐使用liteide 参考: [1]: https://code.google...阅读全文

golang-protobuf快速上手指南

什么是protobuf Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准。 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。 如何安装protobuf 在github获取protobuf源码,windows系统可以直接下载exe文件:https://github.com/google/protobuf/releases macos和linux环境使用源码进行安装的步骤 # 获取源码包 wget https://github.com/goog...阅读全文

博文 2018-08-21 01:34:46 豆瓣奶茶

Go语言实战笔记(二)| Go开发工具

在Go语言中,我们很多操作都是通过go命令进行的,比如我们要执行go文件的编译,就需要使用go build命令,除了build命令之外,还有很多常用的命令,这一次我们就统一进行介绍,对常用命令有一个了解,这样我们就可以更容易的开发我们的Go程序了。 Go 开发工具概览 go这个工具,别看名字短小,其实非常强大,是一个强大的开发工具,让我们打开终端,看看这个工具有哪些能力。 ➜ ~ go Go is a tool for managing Go source code. Usage: go command [arguments] The commands are: build compile packages and dependencies clean remove object files...阅读全文

博文 2017-03-09 05:02:06 飞雪无情flysnow_org

V8和Go结合v8worker

Minimal golang binding to V8. This exposes a non-blocking message passing interface to the V8 javascript engine. Go and JavaScript interact by sending and receiving messages. V8 will block a thread (goroutine) only while it computes javascript - it has no "syscalls" other than sending and receiving messages to Go. There are only three built in ...阅读全文

开源项目 2015-03-31 01:14:50 ry

如何用 Go 语言实现正向代理

正向代理是处理一组内网客户端发往外部机器的网络请求的一种代理方式。 实际上,正向代理是你的应用和你所要连接的服务器之间的中间人。它在 HTTP(S) 协议上起作用,并且被部署在网络设施的边缘。 你通常可以在大型组织或大学中见到正向代理,它被用来进行授权管理或网络安全方面的控制。 我发现在使用容器或者动态的云环境工作时,正向代理很有用,因为你会面临一组服务器和外部网络的通信问题。 如果你在 AWS、AZure 之类的动态环境下工作,你会拥有一批数量不定的服务器和一批数量不定的公网 IP。你把应用运行在 Kubernetes 集群上时也是一样,容器可能遍布四处。 现在假设有客户让你提供一个公网 IP 的范围,因为他需要设置防火墙。你如何提供这个特性呢?这个问题有些情况下很简单,有些情况下可能非常...阅读全文

博文 2018-04-01 00:10:18 vincent08

【Go1.4】主要改动

Go 1.4 计划9月份冻结代码,12月份发布,目前官方公布的主要改动有: 1、规范:允许 for range x 这种写法 原因:在标准库中,存在这样的写法 // unicode/utf8/utf8.go func RuneCountInString(s string) (n int) { for _ = range s { n++ } return } 很显然,这里不关心具体的index或value,同时,既然可以省略 value,为什么不能将 index 也省略。因此,加入了这种语法。这样,上面的代码变为: for range s { n++ } 详情: 1. [issue 6...阅读全文

golang以插件的方式加载golang动态库

环境 系统: linux (别问为什么,因为windows下golang不支持动态库) golang版本: 1.5 以上支持动态库,1.8以上支持plugin 插件代码 插件代码跟普通的golang模块代码没啥差别,主要是package必须是 main。下面是一段简易的插件代码 //testplugin.go package main import ( "fmt" ) func init() { fmt.Println("world") //我们还可以做其他更高阶的事情,比如 platform.RegisterPlugin({"func": Hello}) 之类的,向插件平台自动注册该插件的函数 } func Hello() { fmt.Println("hello") } init 函数的...阅读全文

博文 2017-09-18 02:57:27 letian0805

[北京]Golang游戏服务器工程师

北京钛核互动信息技术有限公司成立于2014年11月,创始人团队都是来自于Glu Mobile, Gameloft等顶尖手游公司。在游戏行业打拼了10年以上,擅长高品质精品游戏开发。开发过大量精品手机游戏、Console游戏和网游。公司坚信以人为本,以顶级的人才需要顶级的回报为目标,营造一个有激情的宽松的游戏开发环境,希望能够让游戏人才能够发挥自己的热情和潜力。 http://www.tuicool.com/articles/uEfEJf 服务器将会使用弹性云自动伸缩架构,在这里你将能够学习并开发具有国际最先进的云架构游戏服务器方案。我们招聘具有创新精神的工程师,敢创新、思维严谨、勇于承担。 **基本能力要求:** 1. 热爱玩游戏,热爱开发游戏。具备足够的游戏常识;...阅读全文

centos7安装golang

1,下载二进制文件: 2,解压并创建工作目录: tar -zxf goVersion.linux-amd64.tar.gz -C /usr/local/ mkdir /go 3,设置环境变量: export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export GOPKG=$GOROOT/pkg/tool/linux_amd64 export GOARCH=amd64 export GOOS=linux export GOPATH=/go export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin 4,重载配置 source /etc/profile 使之生效,或者重新登录Linux也...阅读全文

博文 2017-10-29 16:00:01 dongbo

cannot find package "golang.org/x/sys/unix"

开发好的go项目,在windows上运行的好好的,等拿到linux上编译时,报错,找不到核心包,用共go get命令也获取不到,查资料说是被墙了,幸好github上又对应的包下载,https://github.com/golang?page=1 下载后,成功解决。 mkdir -p $GOPATH/src/golang.org/x cd $GOPATH/src/golang.org/x git clone https://github.com/golang/sys.git 参考:http://www.fecshop.com/topic/80...阅读全文

博文 2019-03-29 06:34:40 clawhub

介绍 golang执行系统命令

golang下的os/exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout。这点和python下的command、os.system等功能是一样的。这里列两个具体操作的代码。其可以调用类LINUX系统下的shell命令,也可以在windows下调用cmd下的命令。 代码一 package main import ( "bytes" "fmt" "log" "os/exec" ) const ShellToUse = "bash" func Shellout(command string) (error, string, string) { var stdout bytes.Buffer var stderr bytes.Buffer c...阅读全文

博文 2018-10-28 05:34:39 易霂

Go1.5 尚未实现的Todolist

1.5的代码将在5月1日冻结,go team官方给出了在1.5中尚未实现的Todolist,但并不承诺后续一定会实现。[ Todolist 文档查看](http://pan.baidu.com/s/1mgxciHa)。其中有一项“shared library support ”,看来go有意向支持动态链接库了! Go 1.5 code freeze is May 1, 2015; release is August 1, 2015. This is a list of things we’re hoping will be in Go 1.5 but are not yet done. For the list of things that are done, see do...阅读全文

kubernetes RBAC实战 kubernetes 用户角色访问控制,dashboard访问,kubectl配置生成

kubernetes RBAC实战 环境准备 先用kubeadm安装好kubernetes集群,包地址在此 好用又方便,服务周到,童叟无欺 本文目的,让名为devuser的用户只能有权限访问特定namespace下的pod 命令行kubectl访问 安装cfssl 此工具生成证书非常方便, pem证书与crt证书,编码一致可直接使用 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 chmod +x cfssl_linux-amd64 mv cfssl_linux-amd64 /bin/cfssl wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 chmod +x cfssljson_...阅读全文

博文 2017-11-24 12:04:42 fanux