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

shipyard中文版发布

shipyard中文版正式发布 一、 Docker Shipyard是什么 ?shipyard是一个开源的docker管理平台,其特性主要包括: 支持节点动态集群,可扩展节点的规模(swarm、etcd方案) 支持镜像管理、容器管理、节点管理等功能 可视化的容器管理和监控管理 在线容器console终端 二、 Shipyard中文版源代码托管在github,有兴趣可以访问git获取代码。下面是一些图片的预览: 1.登陆界面 2.容器列表 3.容器信息创建 4.容器信息 5.终端连接 6.镜像信息 7.节点信息 8.仓库信息 三、 如何使用 3.1如何安装shipyard中文版 curl http://dockerclub.net/deploy | bash -s 3.2如何删除shipyar...阅读全文

博文 2017-02-09 08:08:43 dockerclub

PHP编程中的并发

PHP编程中的并发 周末去北京面了两个公司,认识了几位技术牛人,面试中聊了很多,感觉收获颇丰。认识到了自己的不足之处,也坚定了自己对计算机学习的信心。本文是对其中一道面试题的总结。 面试中有一个问题没有很好的回答出来,题目为:并发3个http请求,只要其中一个请求有结果,就返回,并中断其他两个。 当时考虑的内容有些偏离题目原意, 一直在考虑如何中断http请求,大概是在 client->recv() 之前去判断结果是否已经产生,所以回答的是用 socket 去发送一个 http 请求,把 socket 加入 libevent 循环监听,在callback中判断是否已经得到结果,如果已经得到结果,就直接 return。 后来自己越说越觉得不对,既然已经recv到结果,就不能算是中断http请求...阅读全文

博文 2017-02-09 08:09:44 一堆好人卡

Go语言学习记录:Go语言环境搭建

安排学习Go语言,那就在这里做下笔记。 首先下载Go语言的安装包,地址为http://code.google.com/p/go/downloads/detail?name=go1.2.windows-386.msi&can=2&q= 然后选择IDE,选择了国人开发的LiteIDE,地址为http://code.google.com/p/golangide/downloads/detail?name=liteidex20.1.windows.7z&can=2&q= 安装完毕后,打开LiteIDE,在查看菜单-》选项窗口中选择LiteEnv,修改相应平台的配置文件,我这里只需要修改win32相关的配置文件,将GOROOT修改为Go语言的安装路径,保存后退出IDE,再次启动,在查看菜单-》工具窗口...阅读全文

Golang 基础 HTTP服务器

本篇只是自己学习过程中的一个记录 首先需要引入”net/http”包 import "net/http" 导入了相关包后,接下来在main函数中初始化即可,几行代码就搭建好一个http服务器 err := http.ListenAndServe(":8080", nil) if err != nil { fmt.Println("服务启动失败。") } 以上只是建立了一个服务,并没有任何的功能,下面我还要添加相应的HandleFunc,以便可以响应相关请求。如下: 首先建立一个HandleFunc的回调函数 func homeHandler(w http.ResponseWriter, h *http.Request) { w.Write([]byte("hello ying32!")) }...阅读全文

博文 2016-10-09 06:00:05 zyjying520

Closure in Golang

序言 Golang遵循“少即是多”的设计哲学,同时又支持闭包(Closure),那么闭包对于Golang来说肯定有重要的价值。 对于Golang的初学者来说,肯定会有下面的几个疑问: 闭包是什么? 闭包是怎么产生的? 闭包可以解决什么问题? 闭包在函数式编程中广泛使用,所以一提起闭包,读者必然会想起函数式编程,我们先简单回顾一下。 在过去十几年的时间里,面向对象编程大行其道,以至于在大学的教育里,老师也只会教给我们两种编程模型,即面向过程和面向对象。孰不知,在面向对象思想产生之前,函数式编程已经有了数十年的历史。 函数式编程在维基百科中的定义: In computer science, functional programming is a programming paradigm that...阅读全文

博文 2017-02-10 14:39:51 _张晓龙_

【golang】wait,who am I

345唉,这是int类型吗?看着是~它有可能是345.0,可以简写为345.(没有看错,只是把0给简没有了)func main() { s := 345 var t int32 = 345 fmt.Println(s == t)}会出现什么呢?对了,会出现s == t (mismatched types int and int32),因为s := 345被golang编译器缺省赋予了int类型。func main() { s := 345 var t float = 345 fmt.Println(s == t)}会出现什么呢?想都别想了,因为golang的浮点只有float32和float64,哈哈哈哈哈哈~func main() { s := 345.0 var t float32 = ...阅读全文

博文 2017-02-10 11:05:21 qingkechina

Go 语言中的 new() 和 make() 的区别

载:http://se77en.cc/2014/04/25/the-difference-between-function-new-and-make-in-golang/ 概述 Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。 new 的主要特性 首先 new 是内建函数,你可以从 http://golang.org/pkg/builtin/#new 这儿看到它,它的定义也很简单: 1 func new(Type) *Type 官方文档对于它的描述是: 内建函数 new 用来分配内存,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配类型零值的指针 根据这段描述,我们可以自己实现一个类似 new 的功能: 12...阅读全文

博文 2015-12-22 07:00:01 yugongpeng_blog

ccah-500 第46题 Which scenario will go undetected

46.You are running Hadoop cluster with all monitoring facilities properly configured. Which scenario will go undetected? A. HDFS is almost full B. The NameNode goes down C. A DataNode is disconnected from the cluster D. Map or reduce tasks that are stuck in an infinite loop E. MapReduce jobs are causing excessive memory swaps Answer: B --> D refere...阅读全文

博文 2016-09-03 10:00:02 tianbaochao

Go语言入门【二】:为什么要使用Go语言

go吉祥物 Go语言是google推出的新兴后端开发语言,我认识的人里,用了都说好。经过前段时间的学习,做个总结。 Go语言的主要优势 工程化 强制代码风格,通过gofmt工具,方便团队协作。 依赖管理的语言级别支持(GOPATH),类似于在Java中使用了maven,Gradle工具。 容器技术docker用go编写,go语言在容器应用上有很大的亲和力,譬如通过交叉编译可以只打包可执行程序,极大减小容器的体积。由于这一点很大程度上属于docker的优势,算半条。 交叉编译为目标OS的可执行代码十分方便,对制作命令行小工提高效率。 开源生态足够丰富,涌现大量的优秀项目和第三方组件。参考:https://github.com/avelino/awesome-go 语言本身 goroutine给...阅读全文

博文 2017-03-05 19:36:52 知米丶无忌

在学Go语言

首发:个人博客,更新&纠错&回复 开始学点儿Go语言,这语言据说在国内比在国外火,社区上褒贬不一,不过“小马过河”嘛,总要先自己试试再来下结论。 环境准备: 1.在Golang中国下载安装go语言,个人喜欢用msi安装,直接帮你设置环境变量,免得手动弄。 2.安装goclipse:在eclipse官网下载最新版eclipse,安装后进入菜单Help -> Install New Software,输入网址http://goclipse.github.io/releases/。注意在读出的长长的列表中选择goclipse即可,千万别全选(血的教训),然后一路Next。 3.安装好goclipse后,在eclipse配置(Window -> Preferences)中选Go菜单,里面的GOROO...阅读全文

博文 2016-04-28 05:00:01 zidafone

Go Web App Example – Entry Point, File Structure, Models, and Routes

有很多可以快速搭建Go web项目的开源框架,与其用一个开源框架,我更愿意自己Go的原生的东西去构建一个带认证功能的model-view-controller (MVC) web 程序。记住,这只是众多构建你web 项目方法的一种。 可以在Github查看项目的代码:https://github.com/josephspurrier/gowebapp 项目文件结构 config/ - application settings and database schema controller/ - page logic organized by HTTP methods (GET, POST) model/ - database queries route/ - route information...阅读全文

博文 2017-02-10 12:26:05 谢权

cmdline-扩展golang std.flag

基于golang 1.6.2 flag 源码做了一个扩展 使命令行帮助信息更完整更清晰,更易于使用 源码地址: http://github.com/vipally/cmdline //Ally(vipally@gmail.com) modify from std.flag version 1.6.2 //1. Add LogicName and Required field for every flag, and modify the flag define interface //2. Add Summary and Details for commond line info //3. Add interface GetUsage() string //4. Modify the Pars...阅读全文

博文 2016-08-17 00:00:04 vipally

Go语言

Go语言是Google推出的新的一个致力于系统级的编程语言。很多人说它是 C + Python,既有c的灵活高效,又有Python的简单易用,它的原则是 Simple && Fast。它的语法规则很简单。其官方网站上有一个《三天学会Go语言》的教程,包括三部分:基本结构,面向对象,并发。一个周末的时间就差不多可以掌握 其基本面貌。相对来说,第三部分“并发”似乎难接受一些。但是如果你对多线程,同步,消息队列这些东西很有经验的话,对它的概念也会容易理解。 http://golang.org...阅读全文

博文 2015-06-17 23:00:28 leelong80

go web编程-使用Mux控制路由访问

package main import ( "io" "log" "net/http" ) func main() { mux := http.NewServeMux() mux.Handle("/", &myHandler{}) err := http.ListenAndServe(":8080", mux) if err != nil { log.Fatal(err) } } type myHandler struct {} func (*myHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { io.WriteString(w, "hello") } $(function () { $('pre.prettyprint...阅读全文

博文 2016-10-05 02:00:06 github_20066005

Go的异常处理 defer, panic, recover<转载>

Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为0了)。才使用Go中引入的Exception处理:defer, panic, recover。 这几个异常的使用场景可以这么简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。 例子代码: package main import "fmt" func main(){ ...阅读全文

博文 2016-08-18 21:00:10 u011686226

使用golang编写Web程序(三)

上一节我们使用go语言加载了一个纯文字的html页面,但是没有实现交互功能,我们改造一下html页面,增加两个页面代码如下: input.html

<input name="username" value="">
output.html 你好:{{.username}} 上面html代码通过form的POST方法发送请求数据到服务端,服务端代码如下: main.go package main import ( "fmt" "html/template" "log" "net/http" ) func InputHandler(w ...阅读全文

博文 2016-09-02 15:00:07 知止software

Kubernetes监控之InfluxDB

什么是InfluxDB? InfluxDB介绍 InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。InfluxDB特征: 无结构(无模式):可以是任意数量的列 可以设置metric的保存时间 支持与时间有关的相关函数(如min、max、sum、count、mean、median等),方便统计 支持存储策略:可以用于数据的删改。(influxDB没有提供数据的删除与修改方法) 支持连续查询:是数据库中自动定时启动的一组语句,和存储策略搭配可以降低InfluxDB的系统占用量。 原生的HTTP支持,内置HTTP API 支持类似sql...阅读全文

博文 2017-02-10 10:32:03 Robinly

PHP 混合 Go 协程并发

想法很简单。通过设置 runtime.GOMAXPROCS(1) 让 golang 的进程变成单线程执行的。类似python用gevent的效果。然后通过调度多个协程实现异步I/O并发。php作为一个子函数跑在go的进程内,php需要yield到其他协程时,通过回调到golang函数来实现。从php里调用go提供的子函数时,go保证保存php的当前上下文。当协程执行权让渡回来的时候,把原来的php上下文恢复。关键的代码在: // 保存当前协程上的php上下文 oldServerCtx := engine.ServerContextGet() fmt.Println(oldServerCtx) defer engine.ServerContextSet(oldServerCtx) oldExe...阅读全文

博文 2017-02-10 10:28:48 taowen

go语言开发的基础

bin存放编译后的可执行文件;pkg存放编译后的包文件;src存放项目源文件。一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目录即可 pkg中的文件是Go编译生成的,而不是手动放进去的。(一般文件后缀.a) export GOROOT=/home/go go 第三方包数据库安装: go get labix.org/v2/mgo go install labix.org/v2/mgo 代码提示: gocode放入到go跟目录下 启动本地文档 go$ godoc -http=:6666 apt2 必须make(map,slice,channel) make-channel ci <- 1 <-ci i := <-ci ← 发送整数 1 到 c...阅读全文

博文 2015-06-17 23:02:26 zhangman117

深入 Go Playground 内幕

简介 2010年9月,我们介绍了Go Playground,这是一个完全由Go代码组成和返回程序运行结果的web服务器。 如果你是一位Go程序员,那你很可能已经通过阅读Go教程或执行Go文档中的示例程序的途径使用过Go Playground了。 你也可以通过点击 talks.golang.org上幻灯片中的“Run” 按钮或某个博客上的程序(比如最近一篇关于字符串的blog)而使用之. 本文我们将学习Go playground是如何实现并与其它服务整合的。其实现涉及到不同的操作系统和运行时间,这里我们假设大家用来编写Go的系统都基本相同。 概览 playground服务有三部分: * 一个运行于Google服务之上的后端。它接收RPC请求,使用gc工具编译用户程序,执行,并将程序的输出(或编...阅读全文

博文 2017-02-09 13:23:34 JeOam

Goji —— 基于 Go 语言的微型 web 框架

Goji 是一个基于 Go 的微型 web 框架,其设计受到了 Sinatra 的启发。 示例 一个简单的 Hello World 示例 package main import ( "fmt" "net/http" "github.com/zenazn/goji" "github.com/zenazn/goji/web" ) func hello(c web.C, w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"]) } func main() { goji.Get("/hello/:name", hello) goji.Serve() } Goji 的代码的 e...阅读全文

博文 2017-02-09 13:36:40 weakish

golang 模板 学习

1. 如何在html 中显 图片之类的? 启用静态服务器 : 如: http.handle("/", http.FileServer(http.Dir("/a"))) : 包含/a 的原因是开启/a 目录下的访问权限。这样则在html 中 就能访问到/a/xx.jpg。 2. 解析html 页面, href 中含有中文, 下载问题? {{range .name}} < ahref="{{.}}">
{{end}} a) :当template 解析上段代码时, {{.}} 假设 被 "你好.txt" 给取代, 当在浏览器显示源码时, href=%e4%bd%a0%e5%a5%bd...阅读全文

博文 2016-08-29 12:00:07 SLonger

关于golang struct interface的理解使用

前端时间说了不少golang常用库包的使用,貌似没有详细说struct interface的概念。在说interface之前,我们知道在Golang 中是没有类class 的概念,golang是通过 interface 类型接口实现的继承多态的效果。 一个 interface 类型定义了一个方法集做接口。 使用golang实现继承时,我们只要记得要给我们的interface类型实现一个method,就完成了对interface的使用。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/?p=2938 我们首先要区分出goalng的方法和函数。他们之间虽然都是通过func定义的,但还是有区别的。 这是函数,很直接的函数。 Pyt...阅读全文

博文 2017-04-04 19:27:24 rfyiamcool

go中方法的接收者是值或者指针有什么区别吗?

参考文章:http://studygolang.com/articles/1113 希望解决的问题如下 假设有两个方法,一个方法的接收者是指针类型,一个方法的接收者是值类型,那么: 对于值类型的变量和指针类型的变量,这两个方法有什么区别?如果这两个方法是为了实现一个接口,那么这两个方法都可以调用吗?如果方法是嵌入到其他结构体中的,那么上面两种情况又是怎样的? 值类型的变量和指针类型的变量 先声明一个结构体: type T struct { Name string } func (t T) M1() { t.Name = "name1" } func (t *T) M2() { t.Name = "name2" } M1() 的接收者是值类型 T, M2() 的接收者是值类型 *T , 两个方...阅读全文

博文 2016-09-07 17:00:07 qq_35902556

Go语言开发工具 LiteIDE0.1.6 released

LiteIDE简介 go语言开发工具,更新至0.1.6,支持WIN32/Linux64bit。 实现特征: *) UTF8文件读写 *) GO语法高亮 *) 项目管理 *) 支持.pro项目编译 *) 支持无项目单独文件编译 *) gopromake自动编译工具 *) 可以从编译错误中定位到源码 项目主页: http://code.google.com/p/golangide/ 项目下载: http://code.google.com/p/golangide/downloads/list 操作系统支持: WIN32 LINU...阅读全文

博文 2015-06-17 23:00:48 visualfc

Node.js与Golang使用感受与小结【三】--JS异步流程控制(序列模式、并发模式、有限并发模式)

十一、Node.js异步流程控制(序列模式、并发模式、有限并发模式) Javascript在基本语法上与其它大部份C派生的语言没有太多区别,你可能很容易从其它语言过度到Javascript。很多从其它语言转到Javascript来的用户,在用一段时间之后很可能对这门语言又爱又恨,特别是对于异步流程的控制。 对于大部份异步编程的模型来说,大多是事件驱动型且是基于进程来编码。这样为我们带来了诸多好处,我们不必去处理为了实现同样目的而做的多线程模型里面的问题。多线程编程里面,由于多个线程访问的内存块是一样的,所以可能会出现死锁、共享竞争等问题。 异步编程是什么昵?打个比方,你需要准备一个丰富的晚餐,其中有炒菜与熬汤。如果是阻塞式同步编程的话,你需要先去炒菜,等菜炒好了,然后在去熬汤。在炒菜的过程中...阅读全文

博文 2017-02-09 17:03:36 香吉士

golang语言中map的初始化及使用

文链接:http://studygolang.com/articles/2379 // 先声明map var m1 map[string]string // 再使用make函数创建一个非nil的map,nil map不能赋值 m1 = make(map[string]string) // 最后给已声明的map赋值 m1["a"] = "aa" m1["b"] = "bb" // 直接创建 m2 := make(map[string]string) // 然后赋值 m2["a"] = "aa" m2["b"] = "bb" // 初始化 + 赋值一体化 m3 := map[string]string{ "a": "aa", "b": "bb", } // ===================...阅读全文

博文 2016-08-23 20:00:08 hellochenlu

go语言函数

这里要说一下是Go函数和一些其他语言不一样的地方 1 函数格式不同 ? 1 2 3 4 5 6 func GetMsg(i int) (r string) { fmt.Println(i) r = "hi" return r } func说明这个是个函数 GetMsg是函数名 (i int) 函数接收一个int参数 (r string) 函数返回一个string类型返回值 2 函数可以返回多个返回值 这点和c,php都不一样,和lua是一样的 ? 1 2 3 4 5 6 7 func GetMsg(i int) (r string, err string) { fmt.Println(i) r = "hi" err = "no err" return r,err } 3 defer的使用 d...阅读全文

博文 2015-06-17 20:13:50 s1102379635

go语言接口适配,适配器模式

直接上代码:package main import "log" type LogIN interface { WARN(string) INFO(string) //其他省略 } /* 假设你写了一个框架,框架里需要打日志,具体是个什么样的日志由使用者决定 */ type Frame struct { name string log LogIN } func (f *Frame) Start() { f.log.INFO("frame start...") } //但是问题来了,使用者用了一个这样的日志库 type RealLog struct { } func (l *RealLog) warn(s string) { log.Print(s) } func (l *RealLog) in...阅读全文

博文 2017-02-09 16:00:45 fangnux

Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

目录 目录 什么是Thrift 1 Thrift内部框架一瞥 2 支持的数据传输格式数据传输方式和服务模型 3 Thrift IDL Thrift的官方网站在哪里 在哪里下载需要哪些组件的支持 如何安装 1 安装依赖插件 2 安装最新版PHP5 3 下载thirft091版本 4 编译安装 GolangJavaPythonPHP之间通过Thrift实现跨语言调用 1 Golang 客户端和服务端的实现及交互 2 python 客户端的实现与golang 服务端的交互 3 php 客户端的实现与golang 服务端的交互 4 java 客户端的实现与golang 服务端的交互 扩展阅读 什么是Thrift 0.1 Thrift内部框架一瞥 Thrift是一种可伸缩的跨语言服务的发展软件框架。它...阅读全文

博文 2016-09-08 07:01:15 狮子

golang(GO语言)http详解简单基础(1)

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; 因为好像长时间的写PHP可能大家感觉烦躁了,所以写一点golang的东西大家可以拿去玩玩,golang在web开发中让你得心应手,其实也是很好的东西,只要你玩进去之后感觉好爽,感觉比PHP的好处就是没有那么多的“限制”,基础部分大家可以看下简单的我再前边更新了一点点后边会继续给大家补上的,以后就是PHP+golang也可能会写一些object-c的,废话不多说开始写了,所有的代码我放在BUYVM上搭建的GOweb 大家可以去http://www.lingphp.com:8080/demo/查看获取完整代码,现在www.lingphp.com刚弄yaf框架还没有做,大家不用测试攻击玩哈 web1...阅读全文

博文 2017-02-09 18:37:29 widuu

Golang在Mac OS上的环境配置

Golang是Google开发的一种编译型,平行化,具有垃圾回收功能的编译语言,还和C一样有指针。Golang是天生的网络编程语言,学习使用Golang先从环境配置开始。环境要求: Homerbrew 安装参考:http://brew.sh/ 安装Golang Golang可以通过源代码自己编译安装https://golang.org/project/,为了管理和升级建议使用Homerbrew安装。使用命令行直接安装Golang: brew install go ==> Downloading https://homebrew.bintray.com/bottles/go-1.7.el_capitan.bottle.tar.gz ###############################...阅读全文

博文 2017-02-10 14:46:27 姜家志

go命令

Go命令教程 (访问密码:kmNYam)Go命令教程 build compile packages and dependencies clean remove object files doc show documentation for package or symbol env print Go environment information fix run go tool fix on packages fmt run gofmt on package sources generate generate Go files by processing source get download and install packages and dependencies install com...阅读全文

博文 2017-03-05 19:42:54 紫若丹枫

golang初试:坑爷的

http://www.jiaoyou8.com/friends_diary/IntOTherAin/9_9_2016/view_24094709_no_2016_0909.html http://www.jiaoyou8.com/friends_diary/Terrence09/9_9_2016/view_24094710_no_2016_0909.html http://www.jiaoyou8.com/friends_diary/WEICHENGXUN/9_9_2016/view_24094712_no_2016_0909.html http://www.jiaoyou8.com/friends_diary/IntOTherAin/9_9_2016/view_24094716_no_20...阅读全文

博文 2016-09-08 17:00:02 bbwangmail

Go语言异常处理defer\panic\recover

Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为 0了)。才使用Go中引入的Exception处理:defer, panic, recover。 这几个异常的使用场景可以这么简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。 例子代码: package main import "fmt" func main(){...阅读全文

博文 2016-09-10 14:00:03 迪克猪

在Go中使用面向对象Web Servers

Part 1: Hello World “Hello, World”程序指的是只在计算机屏幕上输出“Hello, World!”(意为“世界,你好!”)这行字符串的计算机程序。一般来说,这是每一种计算机编程语言中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当。 在Go’s net/http 文档中我们可以看到一个运行第一个 Go web 应用程序的示例: http.Handle("/foo", fooHandler) http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q"...阅读全文

博文 2017-02-10 12:26:58 谢权

golang构造函数与转换函数

http://weibo.com/p/2308244024908597308675?more=zwenzhang http://weibo.com/p/2308244024908635057489?more=zwenzhang http://weibo.com/p/2308244024908920270757?more=zwenzhang http://weibo.com/p/2308244024908979035910?more=zwenzhang http://weibo.com/p/2308244024909012545701?more=zwenzhang http://weibo.com/p/2308244024909062877477?more=zwenzhang http://w...阅读全文

博文 2016-10-07 11:00:03 plumnut

golang之defer

goang defer http://www.xiaozhou.net/something-about-defer-2014-05-25.html $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.a...阅读全文

博文 2016-04-23 02:00:01 u010822828

win7下配置GO语言环境 + eclipse 配置GO开发

1.下载安装GO的包 到https://code.google.com/p/go/downloads/list 下载对应操作系统的包(作者写本文时选的是go1.0.3.windows-amd64.zip ) PS:安装有两种方法,使用MSI安装,自动会帮助配置好环境变量。使用ZIP解压后得自己手动设置环境变量。 2.设置环境变量 在“我的电脑”中配置GO的环境变量: 2.1新建环境变量 GOROOT,值为你所解压的GO的根目录(作者的为 C:\go) 2.2在PATH环境变量中添加GO的bin,作者的为 %GOROOT%\bin; 2.3打开cmd命令行,输入 go。如果配置正确,则会有帮助提示。 3.设置eclipse安装go插件 3.1首先得下载eclipse(作者使用的版本为eclip...阅读全文

博文 2015-06-17 20:15:57 a956959099

go语言学习---错误

错误 错误是可以用字符串描述自己的任何东西。主要思路是由预定义的内建接口类型 `error`,和方法 `Error`,返回字符串: type error interface { Error() string } 当用 fmt 包的多种不同的打印函数输出一个 error 时,会自动的调用该方法。 以下是一个例子 package main import ( "fmt" ) type myfloat float64 //go的基本数据类型不能直接增加函数,只有先定义一个自己的数据类型 func (data myfloat) Error() string{ return fmt.Sprintf("cannot sqrt negative number: %f", data) } func Sqrt(...阅读全文

博文 2016-04-10 04:00:02 jwkfreedom

把Go程序变小的办法

把Go程序变小的办法是: go build -ldflags “-s -w” (go install类似) -s去掉符号表(然后panic时候的stack trace就没有任何文件名/行号信息了, 这个等价于普通C/C++程序被strip的效果), -w去掉DWARF调试信息,得到的程序就不能用gdb调试了。 比如,server.go是一个简单的http server,用了net/http包。 $ go build server.go $ ls -l server -rwxr-xr-x 1 minux staff 4507004 2012-10-25 14:16 server $ go build -ldflags “-s -w” server.go $ ls -l server -rwxr...阅读全文

博文 2016-09-15 14:00:02 太阳黑子

go-mysql-elasticsearch实现mysql 与elasticsearch实时同步深入详解

引言: go-mysql-elasticsearch 是国内作者开发的一款插件。测试表明:该插件优点:能实现同步增、删、改、查操作。不足之处(待完善的地方): 1、仍处理开发、相对不稳定阶段; 2、没有日志,不便于排查问题及查看同步结果。 本文深入详解了插件的安装、使用、增删改查同步测试。 1. go-mysql-elasticsearch 插件安装 步骤1:安装go yum install go 步骤2:安装godep go get github.com/tools/godep 步骤3:获取go-mysql-elastisearch插件 go get github.com/siddontang/go-mysql-elasticsearch 步骤4:安装go-mysql-elastisear...阅读全文

博文 2016-09-02 13:00:04 wojiushiwo987

go中方法的接收者是值或者指针有什么区别吗?

参考文章:http://studygolang.com/articles/1113 希望解决的问题如下 假设有两个方法,一个方法的接收者是指针类型,一个方法的接收者是值类型,那么: 对于值类型的变量和指针类型的变量,这两个方法有什么区别?如果这两个方法是为了实现一个接口,那么这两个方法都可以调用吗?如果方法是嵌入到其他结构体中的,那么上面两种情况又是怎样的? 值类型的变量和指针类型的变量 先声明一个结构体: type T struct { Name string } func (t T) M1() { t.Name = "name1" } func (t *T) M2() { t.Name = "name2" } M1() 的接收者是值类型 T, M2() 的接收者是值类型 *T , 两个方...阅读全文

博文 2016-09-08 05:00:02 qq_35902556

golang 模板 学习

1. 如何在html 中显 图片之类的? 启用静态服务器 : 如: http.handle("/", http.FileServer(http.Dir("/a"))) : 包含/a 的原因是开启/a 目录下的访问权限。这样则在html 中 就能访问到/a/xx.jpg。 2. 解析html 页面, href 中含有中文, 下载问题? {{range .name}} < ahref="{{.}}">
{{end}} a) :当template 解析上段代码时, {{.}} 假设 被 "你好.txt" 给取代, 当在浏览器显示源码时, href=%e4%bd%a0%e5%a5%bd...阅读全文

博文 2016-09-12 12:00:43 SLonger

编译更小的Golang程序

把Go程序变小的办法是:go build -ldflags "-s -w"相关解释:-s去掉符号表,panic时候的stack trace就没有任何文件名/行号信息了,这个等价于普通C/C++程序被strip的效果,-w去掉DWARF调试信息,得到的程序就不能用gdb调试了。 -s和-w也可以分开使用.原文:http://sudochina.com/insion/blog/179...阅读全文

博文 2017-02-09 17:22:57 鲜橙加冰

Go文件操作

读取文件中的内容 假设你想获取文件中感兴趣的内容,但是,你不希望获取所有内容。假设文件的内容如下所示: 1. 网页视觉设计理论之少些质感,多些版式. http://www.ynetx.com/theory/560-1.html 2. 设计理论: http://www.ynetx.com/design/theory/ 3.Google的新设计理念Material Design http://www.infoq.com/cn/news/2014/07/google-material-design-android/ 你只想获取http开头的行内容。实现代码如下: line, err := reader.ReadString('\n') // skip all line starting witho...阅读全文

博文 2016-08-04 20:00:05 abcijkxyz

golang开发环境搭建

0 大纲本文总结在安装Go时如何配置GoLang的环境变量和创建一个Project的目录结构。下文描述适用于LINIX环境。1 安装及环境变量Go的安装方法包括:默认安装和自定义安装,官方的描述请参看这里:http://golang.org/doc/install其中:(1) 默认安装比较简单,但需要root权限,默认安装路径是:/usr/local/go;(2) 自定义安装需要另外配置GOROOT环境变量; 本文采用默认安装。下面的环境变量需要添加到当前用户的 .bashrc 配置中。其中:(1) 显示将Go的bin安装目录配置在PATH环境变量中;(2) 注意GOPATH不是Go的安装目录,而是用户的工作目录(可自定义),Go命令依赖GOPATH这个重要的环境变量。# Golang en...阅读全文

博文 2017-02-10 11:03:43 吴之恒心

使用golang编写Web程序(三)

上一节我们使用go语言加载了一个纯文字的html页面,但是没有实现交互功能,我们改造一下html页面,增加两个页面代码如下: input.html

<input name="username" value="">
output.html 你好:{{.username}} 上面html代码通过form的POST方法发送请求数据到服务端,服务端代码如下: main.go package main import ( "fmt" "html/template" "log" "net/http" ) func InputHandler(w ...阅读全文

博文 2016-09-12 12:00:37 知止software

golang fatal error: all goroutines are asleep - deadlock!

自:http://studygolang.com/articles/2410 channel默认上是阻塞的,也就是说,如果Channel满了,就阻塞写,如果Channel空了,就阻塞读。阻塞的含义就是一直等到轮到它为止。单有时候我们会收到 fatal error: all goroutines are asleep - deadlock! 异常,这是如何呢? 代码例子: package main import "fmt" func main() { channel := make(chan string, 2) fmt.Println("1") channel <- "h1" fmt.Println("2") channel <- "w2" fmt.Println("3") channel ...阅读全文

博文 2016-09-12 03:00:03 u011509543

关于Golang和JVM中并发模型实现的探讨

说起来貌似有好久没有更新过博客了,主要是因为最近一段时间都在各种看书和看源码,所做的记录大部分也都是属于读书笔记性质,所以就没有整理到博客上来,之后会陆续整理一些东西上来。http://www.jxedt.com/wen/yueche/3170230162160615478.html http://www.jxedt.com/wen/yueche/3170230170922909778.html http://www.jxedt.com/wen/yueche/3170230228733788214.html http://www.jxedt.com/wen/yueche/3170230233200984146.html http://www.jxedt.com/wen/yueche/3170...阅读全文

博文 2016-10-12 19:00:06 wangwei5155