Linux Golang安装与环境变量设置

1、下载与安装 下载Golang安装包:go1.5.1.linux-amd64.tar.gz 使用tar命令将Go档案包解压到/usr/local目录下 tar -zxvf go1.5.1.linux-amd64.tar.gz -C /usr/local 2、环境变量设置 在profile文件添加下面四个环境变量(~/.bash_profile(单一用户) 或 /etc/profile(所有用户)) GOROOT:Go当前安装目录 export GOROOT=/usr/local/go GOPA...阅读全文

Go语言入门——Hello World

Go语言入门——Hello World 1.环境准备: 点击这里去官网下载对应的安装文件,我下载的是go1.4.2.darwin-amd64-osx10.8.pkg。 打开Terminal,输入go version,如果能看的版本号,说明go的环境已经配置好了。 2.Hello World 照例,第一个程序依旧是Hello World,在工作目录下新建test.go文件: package main import "fmt" // this is a comment func main(){ fm...阅读全文

CSDN博客 2015-05-21 15:20 JiezhiG

GO语言环境搭建 + Sublime text 3 + Git + MarGo + gocode 组合配置详解

1.window下安装go google有提供win安装包,对于新手还是非常简单的! https://code.google.com/p/go/downloads/list; 环境变量已经配置好我们只需要配置一个GOPATH目录就可以了,建议在非C盘创建; 目录格式为: 2.设置GOPATH, 3.准备工作完成之后,开始搭建Sublime Text开发go语言的环境。 a.下载安装sublime text之后,安装Package Control 从菜单 View - Show Console 或...阅读全文

CSDN博客 2015-09-20 10:36 walid1992

Go语言学习笔记 - 函数

函数 不支持 嵌套 (nested)、重载 (overload) 和 默认参数 (default parameter)。• 无需声明原型。• 支持不定长变参。• 支持多返回值。• 支持命名返回参数。• 支持匿名函数和闭包。使用关键字 func 定义函数,左大括号依旧不能另起一行。 func test(x,y int,s string) (int string) { //类型相同的相邻参数可合并。 n := x + y //多值返回必须用括号 return n, fmt.Sprintf(s,n) ...阅读全文

简书 2016.08.23 11:19 技术学习

服务发现:Zookeeper vs etcd vs Consul

【编者的话】本文对比了Zookeeper、etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考。 如果使用预定义的端口,服务越多,发生冲突的可能性越大,毕竟,不可能有两个服务监听同一个端口。管理一个拥挤的比方说被几百个服务所使用的所有端口的列表,本身就是一个挑战,添加到该列表后,这些服务需要的数据库和数量会日益增多。因此我们应该部署无需指定端口的服务,并且让Docker为我们分配一个随机的端口。唯一的问题是我们需要发现端口号,并且让别人知道。 当我们开始在一个分布式系统...阅读全文

DockOne.io 2015-09-13 国会山上的猫TuxHu

GoLang学习 -- goroutine使用指南

并发是golang最有核心竞争力的功能,golang的并发依赖的并不是线程,而是协程。协程和线程有什么区别呢?最大的区别就是协程比线程更为轻量。默认情况中一个进程最大可以启动254个线程,这个数值也可以改为无限制,但主机资源消耗就会非常严重。而使用协程就不同了,一个进程可以轻轻松松启动上万个协程而毫无压力。 因此本篇文章就来说说在golang中如何创建使用协程。 golang设计协程的目的,一方面是为了提高并发效率,另外一方面就是尽可能发挥多核CPU的能力。golang内置的调度器,可以让多核C...阅读全文

CSDN博客 2015-09-18 10:17 vikings_1001

go 初始配置

首先感谢我的上司让我接触了go语言,以后我会将每天所学习的知识放入博客,作为记录,与君共勉 资料 视频学习 http://www.oschina.net/p/go-fundamental-programming 文本资料 http://go-lang.cat-v.org/ Go1.2新功能简介 http://my.oschina.net/chai2010/blog/160143 go push https://github.com/Terry-Mao/gopush2#features 1.配置l...阅读全文

CSDN博客 2013-12-08 16:10 luan_tianjiao

uboot启动zImage(go)和uImage(bootm)分析

1.之间差异。bootm 加载linux镜像是加载uIamge,uIamge是由mkimage制作而来,和zIamge的差异是uIamge是zIamge压缩过的,bootm需要先对uIamge解压,解压地址为内核入口地址。当解压完成时uIamge和zIamge 几乎是相同的,具体差异可以论述。uboot目前只能支持uImage启动,不支持zImage启动2.bootm解压过程-------------------------------------------------------------...阅读全文

CSDN博客 2009-06-11 11:16 stonye

Go语言 美妙的channel(上)

在 Go 编程语言中,channel 是一个闪耀的特性。它提供了一种强大的、在不使用锁或临界区的情况下,从某个 goroutine 向其他 goroutine 发送数据流的方法。 今天我想讨论关于 channel 的两个重要的特性,这些特性不但使其在控制数据流方面极为有用,而且用在流程控制方面也十分有效。 一个已经被关闭的 channel 永远都不会阻塞 第一个特性,我想谈一谈已经被关闭的 channel。当一个 channel 一旦被关闭,就不能再向这个 channel 发送数据,不过你仍然可...阅读全文

CSDN博客 2014-04-20 19:23 abv123456789

go post json 遇到的问题

想用go写一个客户端,发一个JSON数据到JAVA的服务端接口, 结果,JAVA接收的BODY一直是空,但是PYTHON写的服务端是OK的 网上查了方法 其中:一些方法 也试过了, type RequestBody struct { Status string `json:"status"` Region []string `json:"region"` Percent string `json:"percent"` Task_id string `json:"task_id"` } b, er...阅读全文

开源中国博客 2015-09-18 13:09 vance928

Go语言学习笔记 - 类型

序 一直在关注Golang的发展,最近Go 1.7也发布了,于是下定决心学习Golang。本文是《Go 学习笔记》摘录,同时加深对Golang理解。 变量 Golang是静态类型语言,因此不能在运行期改变变更的类型。 变量的定义采用 var 关键字,自动初始化为零值(如string的零值为空字符串,bool的零值为false,int的零值为0)。如果提供初始化值,则可省略变量类型,由编译器进行类型自动推断。 var x int var f float32 = 1.6 var s = "abc" ...阅读全文

简书 2016.08.22 17:12 技术学习

go语言模块开发概念与cron定时事务模块的使用

参照代码: 引入模块通过import实现 结合go安装包目录: 不难发现src目录用于存放各个模块 关于cron模块的使用,只需下载源码保存至src目录下,使用时引入即可,相比linux 中的 cron,Go 实现的 cron 可以精确到秒 查看下载源码地址:https://github.com/robfig/cron 参考资料: http://blog.studygolang.com/2014/02/go_crontab/ http://www.cnblogs.com/happyframewo...阅读全文

博客园 2015-09-17 14:22 hero-89

Go项目结构和模块导入

Go项目结构和模块导入 golang项目结构与其他语言类似,但是仍然有一些需要注意的地方。 项目结构 环境配置 go 命令依赖一个重要的环境变量:$GOPATH,它表示GO项目的路径,如下设置 export GOPATH=/home/t/gospace 对于GOPATH来说,允许多个项目目录(Unix中为“:”,Windows中为“;”)。 项目目录 在项目目录中,一般包含三个文件夹,分别为src,pkg和 bin。各个文件夹功能如下, src 存放golang源码 pkg 存放编译后的文件 b...阅读全文

博客园 2015-09-17 16:55 coder2012

Golang适合高并发场景的原因分析

典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒 (1.0.3 的 GC 不给力,直接升级到 tip,再次吃螃蟹) 15亿个心跳包/天,占大多数。 京东云消息推送系统 (团队人数:4...阅读全文

CSDN博客 2015-09-17 23:35 Mirage520

关于Go,你可能不注意的7件事

Go以简洁著称,但简洁中不乏值得玩味的小细节。这些小细节不如goroutine、interface和channel那样"高大上","屌 丝"得可能不经常被人注意到,但它们却对理解Go语言有着重要的作用。这里想挑出一些和大家一起通过详实的例子来逐一展开和理解。本文内容较为基础,适合初学者,高手可飘过:) 一、源文件字符集和字符集编码 Go源码文件默认采用Unicode字符集,Unicode码点(code point)和内存中字节序列(byte sequence)的变换实现使用了UTF-8:一种变长...阅读全文

Tony Bai 九月 17, 2015 bigwhite

golang指针

golang中的指针 总结一下golang中的指针与C语言的指针的用法. 总体一致: C的代码: int *number; number = (int *) malloc(sizeof(int)); *number = 3; printf("%d\n", *number); golang的代码: var pointer *int; pointer = new(int); *pointer = 3; fmt.Println(*pointer); 多重指针情况: C的代码: int **outer;...阅读全文

CSDN博客 2015-09-16 18:20 bob_liu0909

配置 Golang for Mac 开发环境

Golang 官网 : https://golang.org/ Golang 中文网 http://docscn.studygolang.com/ 下载.pkg包,像Windows一样的安装。默认安装目录 /usr/local/go 目录。并已经设置好环境变量。 打开终端,输入go evn 查看环境变量。我们会发现GOPATH环境变量为空。 建立GOPATH环境变量 把GOPATH建立在/Users/用户名/Desktop/gowork vi ~/.bash_profile 加入 export ...阅读全文

开源中国博客 2015-09-17 13:56 小而强大

golang executable file not found in $PATH

最近使用docker,遇见executable file not found in $PATH,深究一下源码,追溯到golang内置包,看代码 //寻找可执行的文件,取文件的mode(二进制形式) func findExecutable(file string) error { d, err := os.Stat(file) if err != nil { return err } //看属性 if m := d.Mode(); !m.IsDir() && m&0111 != 0 { retur...阅读全文

开源中国博客 2015-09-17 11:38 webyh