go源码在哪里可以下啊
求go源码下载地址。。。。。。。。。。。。...阅读全文
求go源码下载地址。。。。。。。。。。。。...阅读全文
学习一下Go语言。学习之前,首先要搭建一下Go语言的开发环境,这篇文章主要介绍一下搭建环境的过程。 一、安装Go语言依赖包 Go语言部分功能是用C语言开发的,所以安装Go之前需要安装gcc,make等依赖,ubuntu下的安装命令如下: sudo apt-get install bison ed gawk gcc libc6-dev make 二、获取Go源码 成功安装了Go语言的依赖之后,就需要下载Go语言的源码包,方法比较多:可以通过hg拷贝源码,也可以...阅读全文
今天听了csdn的go语言培训,虽然进入会场的时间比较晚了,听了半个小时吧, 讲师讲的很好,先谢谢讲师 总之听起来go的前景一片大好呀,现在go的关注度也越来越高 从分布式计算,网站后台,gui程序,等等等等,很多地方go都可以胜任,并且性能也比较好,值得学习 不过就最近来讲,go的招聘信息的确不是很多,依然是java,c++,ios的天下,虽然现在已经有很多公司再用go完成一些项目了, 我自已现在也从事的是java开发的工作,提升java技能的同时,继续保持关注和学习go吧 最近大家关注go的程度真是越来越高了,随然我没有什么朋友在从事go的工作, 听讲师说go1.4以后也支持android开发了,非常期待。。 http://wenku.baidu.com/view/9321fb22316...阅读全文
大致是从2016年7月开始打算写一本罗列各种Go编程中的细节的小册子。 但没想到在随后的两年半中,这本原计划中的小册子演变成了一本近500页专注于Go语言语法和语义的书。 原本的三个月的写作计划也拖成了两年半的一场马拉松。 真累了,另外也耽误了太多事儿。实在没有心力再准备排版和操心出版纸质书了。 有兴趣学习Go语言的,请点击以下链接: 本书官网(在线阅读版,有可能间歇性被墙) 本书github项目(可用来开启本地阅读版) 离线版下载(目前包括pdf和epub格式) 觉得此书对学习Go语言有帮助的,顺便赞赏和传播一下,以让老貘保持继续更新本书和go101.org网站的心力。 BTW,刚给本书搞了个公众号,主要用来发表一些关于Go语言细节、常识和编程技巧的快餐型的短小文章。 有兴趣的可以扫描下面...阅读全文
字符串反转的Golang实现,应该是最简单的了。废话不多说,代码如下: package main func Reverse(s string) string { r := []rune(s) for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r) } func main() { a := "Hello, 世界" println(a) println(Reverse(a)) } Golang本身支持计算字符串长度,并且由于支持多值赋值,交换值也是格外的简单。其他语言无非要单独处理一下这两个部分,通过遍历计算出字符串长度,再通过异或或者加法交换值。为了能够处理字符串里...阅读全文
大约半个月之前,我稍微了解了一些分布式系统的理论知识.但是它们很枯燥,而且有的内容,在我看来都是过时的东西.于是,我想到了,找一个分布式系统的项目的源代码,来了解分布式系统的实现.首先我想到了Kubernetes,但是我担心因为对其了解不多,而不能成功地理解它.所以我选择了先研究Docker. 我们都知道,Docker是用Golang语言写的.而我在阅读Docker的源码之前,对Golang一无所知. 其实我很久之前,就想找一个开源项目的源码来阅读.为此我上网搜了大量的关于如何阅读一个开源项目的源码的文章以及提问和答案.但是,它们都前篇一律.并没有提供什么实质性的帮助. 所以,这次,我稍微了解了一下Golang语言(只是花了大约一上午的时间,照着官网上的Tutorial走了一遍),然后,就撸...阅读全文
package main import ( "context" "crypto/md5" "crypto/rand" "encoding/base64" "encoding/hex" "errors" "fmt" "github.com/StackExchange/wmi" "golang.org/x/sys/windows" "net" "sort" "strings" "time" "unsafe" ) func main(){ t := time.Now() a:=GetPhysicalID() fmt.Println(time.Since(t), a) } func GetPhysicalID() string{ var ids []string if guid,err := get...阅读全文
golang是强类型语言,在应用过程中类型转换基本都会用到。下面整理一下常用的类型转换,会持续更新。 整形转字符串 fmt.Println(strconv.Itoa(100)) 该方法的源码是: // Itoa is shorthand for FormatInt(i, 10). func Itoa(i int) string { return FormatInt(int64(i), 10) } 可以看出是FormatInt方法的简单实现。 字符串转整形 i, _ := strconv.Atoi("100") fmt.Println(i) 64位整形转字符串 var i int64 i = 0x100 fmt.Println(strconv.FormatInt(i, 10)) FormatI...阅读全文
golang读取excel文件中文乱码不知道如何解决...阅读全文
最近待业在家,闲来无事。在博主大神@polaris的指点下,开始探索studygolang的源码。最初定的题目是studygolang源码剖析,想想不合适,牛皮吹的有点大了。还是叫源码阅读小结吧。写一些个人的浅薄理解与看法,可能会有错误,希望大伙儿指正。 ## 第一节 源码的获取与本地化运行 ## 本文的目的在于把源码本地运行起来 ###准备工作### 首先源码地址 https://github.com/studygolang,下载最新代码 在本地要编译并执行源码还需要安装下面3个package,使用go get工具 go get github.com/Go-SQL-Dr...阅读全文
package main import ( "compress/gzip" "fmt" "io" "io/ioutil" "net/http" "reflect" "github.com/mozillazg/request" ) func test1(url string) (bt []byte, err error) { testResp, err := http.Get(url) if err != nil { return } bt, err = ioutil.ReadAll(testResp.Body) return } func test2(url string) (bt []byte, err error) { c := new(http.Client) req := reque...阅读全文
Mirai概述 mirai,2016年一个备受关注的DDoS攻击程序,与传统的僵尸网络不同的是,mirai的控制的僵尸主要是摄像头等嵌入式设备,mirai的出现将一大波安全研究者引入了IoT安全领域。 mirai的事迹主要有: 2016.9.20 ,攻击Brian Krebs个人网站,攻击流量达到665Gbps,据称有150万僵尸发起攻击。 2016.9.21, 攻击法国网络服务商OVH,攻击流量达到1Tbps 2016.9.30,mirai开源 2016.10.21, 攻击Dyn DNS,导致Github、Twitter等美国大半个互联网下线 2016.11.28, 攻击德国电信,mirai出现新变种 mirai已经成为IoT DDOS攻击的母体。 mirai能够控制如此大规模的僵尸网络,...阅读全文
上一篇文章我们讲了net/rpc中client部分的实现,我本机源码安装路径在/usr/local/go,这net/rpc(golang 1.4版本)涉及到的相关代码主要有: server.go 方法注册: 因为从client我们知道是复用的socket来实现并发调用rpc方法,我们先从方法注册来看源码部分: // Server对象大都是保存方法存根,保证对象互斥的 type Server struct { mu sync.RWMutex // protects the serviceMap serviceMap map[string]*service reqLock sync.Mutex // protects freeReq freeReq *Request respLock sync....阅读全文
请问各位有用过Go开发的验证码识别的开源项目么?先谢谢...阅读全文
1,安装gccgo apt-get install gccgo 2,gccgo编译go源码 gccgo -o method2 method1.go 结果:method1是go build , method2 是 gccgo 编译的,发现method2比method1小很多啊,差不多三倍。可能是因为go build编译的是Debug,而gccgo 编译的是Release吧。 -rwxr-xr-x 1 root root 1286708 Jan 24 11:10 method1 -rwxr-xr-x 1 root root 40931 Jan 24 11:14 method2 错误: #/usr/bin/ld: cannot find -lgcc_s locate libgcc_s.so.1 l...阅读全文
Go web之旅 此篇开始将开启Go web之旅,我将这趟旅途分为三个子旅程: 源码解析 框架解读 中间件使用 所以在这趟旅途中我们将领略源码之雄伟,框架之奇艳,中间件之灵秀。在接下来的时间里我会按照上面的目录依次讲解。 现在开始踏上Go web的旅程。 func firstHandler(w http.ResponseWriter, r *http.Request) { io.WriteString(w, "Hello,world") } func main() { http.HandleFunc("/hello", firstHandler) http.ListenAndServe(":8080", nil) } 在main函数中,http.HandleFunc设置所有对路径为/hell...阅读全文
如果你对Google Protocol Buffer不了解,可以先看下我这篇文章里收集的中文资料:关于Google Protocol Buffer的中文资料 源码地址:https://code.google.com/p/goprotobuf/ 详细的介绍:https://code.google.com/p/goprotobuf/source/browse/README 介绍: This software has two parts: a ‘protocol compiler plugin’ that generates Go source files that, once compiled, can access and manage protocol buffers; and a libr...阅读全文
生成二维码我们需要使用到github的一个库,我们设置好GOPATH环境变量后,使用 go get github.com/boombuler/barcode 命令下载该库,在main.go中填写如下代码: package main import ( "github.com/boombuler/barcode" "github.com/boombuler/barcode/qr" "image" "image/png" "log" "os" ) func writePng(filename string, img image.Image) { file, err := os.Create(filename) if err != nil { log.Fatal(err) } err = png.E...阅读全文
【Weed-FS又名叫Seaweed-FS】, 本篇主要是关于数据迁移相关的内容, 更详细的源码相关的请看分布式存储Weed-FS源码分析。 很多刚开始接触 Weed-FS 但是又不熟悉它的用户经常会使用以下的方式启动 weed 集群。 weed master -mdir="/tmp/mdata" -defaultReplication="001" -ip="localhost" -port=9334 weed volume -dir=/tmp/vol1/ -mserver="localhost:9334" -ip="localhost" -port=8081 weed volume -dir=/tmp/vol2/ -mserver="localhost:9334" -ip="localho...阅读全文
package main import ( "fmt" "time" ) // MyError is an error implementation that includes a time and message. type MyError struct { When time.Time What string } func (e MyError) Error() string { return fmt.Sprintf("%v: %v", e.When, e.What) } func oops() error { return MyError{ time.Date(1989, 3, 15, 22, 30, 0, 0, time.UTC), "the file system has gone...阅读全文
前提 人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的浩瀚数据流当中。大数据技术业已集中在如何存储和处理这些海量的数据上。Elasticsearch 作为开源领域的后起之秀,从2010年至今得到飞跃式的发展。 Elasticsearch 以其开源、分布式、RESTFul API 三大优势,已经成为当下风口中“会飞的猪”。在我的电脑本地写了几篇 ElasticSearch 的源码解析了,回过头来想想应该也写一篇为何我会去看它的源码?为什么呢?下面我讲讲自己从接触搜索到现在看源码的过程!第一次接触搜索 搜索,我们首先想到的是搜索引擎:Google、百度,这个就算是接触的最早的了。我自己项目里面接触搜索是大二暑假那时练习的一个项目...阅读全文
说明 之前的项目有涉及到支付接口,包括微信和支付宝支付, 现在记录一下github地址:Golang-Payment 使用到的库 网上找的微信支付接口代码 地址,不过我在项目中需要使用到更多的参数,因此改了小部分源码。如果使用的话还是需要自己实现的。 微信需要自己生成二维码,因此我找了一个二维码的库 odeke-em/qr,我稍微修改了一下放在vendor目录下 注意,我使用了beego,所以可能有beego的语法 代码有两个部分 payment/models/Wxpay 这是前面说的接口实现代码,也需要自己做一些修改。 /payment/controller/wxpay.go wxpay.go /payment/controller/wxpay.go: package Payment im...阅读全文
先上代码,结果是什么? package main import ( "fmt" ) const ( i=1<
RT: go基本已经通吃了所有主流处理器。MIPS64的处理器也已经支持了,但是唯独MIPS32的处理器不支持。 目前有个需求就是在MIPS处理器上也能用上GO。目前知道的只有GCCGO了。 老版本的gccgo可以编译成功,gcc 4.8.3这个我就成功了 但是新版本我基本上试过,所有的办法去编译mips的gccgo 5.X,6.X版本。 1、直接从GCC源码编译。 2、crosstool-ng工具编译。 3、buildroot工具编译。 4、通过openwrt编译工具编译 都失败了。 工具基本能编译出来(gccgo,go1等),但是库编译就报错,编译不通过。 基本是gcc\libffi\src\mips\o32.s这个文件报错。 ...阅读全文
martini是非常优雅的Go Web框架。他基于依赖注入的思想,仿照Sinatra的路由设计,参考Express的中间件设计,而且核心微小,扩展方便,非常值得学习。但是由于本身API设计简洁,使很多细节无法从代码理解。所以,我写一点笔记记录martini的工作方式。 Martini核心 我们从最简单的官方实例入手: package main import "github.com/go-martini/martini" func main() { m := martini.Classic() m.Get("/", func() string { return "Hello world!" }) m.Run() } martini.Martini是自带的核心结构,负责完成依赖注入和调用的过程。...阅读全文
image.png 1. 前言 大家好,我是Asong,今天不做知识分享,在这里给大家推荐一款论文降重神器,有了它,解决了我不少烦恼。这几天在忙论文,维普查询一次就花掉了我80大洋,想想心都在颤呀!!!重复率在27%,为了保险,只好降重,在查重,啊啊啊,我的银子!!!!好在这次降重通过了,只折腾了一次,我的一个同学折腾了4次,心疼!!! 但是今天Asong发现了一款论文降重神器 "MyEpoch论文降重系统" ,有了它,我们就不用在绞尽脑汁去想了,直接复制粘贴,完事,齐活!论文完美达到复制比检测! 2. 降重效果演示 asong去知网下载了一篇学术论文,在降重前后分别使用PaperPass进行了查重,降重前重复率为92%,降重后为19%,这效果杠杠滴呀!!!这里我就是把降重后的句段直接复制粘...阅读全文
前言 最近在网上搜了一下,对于gin框架用的人还是比较多的,我自己之前也在使用,但是对于源码解析这块,我没有看到自己想看到的那种从框架入手的解析图,所以嘿嘿嘿,我的机会就来了,今天就带来最完整的gin源码图解。希望通过这篇博客你也能自己学会拆轮子。 PS:本文建立在你已经能熟练使用gin的基础之上,如果还没用过可以去官网看一下: https://gin-gonic.com/zh-cn/docs/ 然后gin是对golang的http包的封装,所以最好对http包也要有了解。 整体分析逻辑 先来说明一下我整体拆解的逻辑,对于一个框架,我喜欢从下面几个方面去入手拆解: 启动方式 如何使用 实现与特点 针对于gin,我也将从这几个方面去入手,就会得到下面几个问题,带着问题看源码是必备条件。 首先启...阅读全文
GitHub地址 (https://github.com/zhuxiujia/GoMybatisMall) 首先让我们来看看 Java端写接口(要支持swagger注解) ```Java @Controller @Api( description = "验证码生成控制器" ) public class CaptchaImageController { private static Logger logger = LoggerFactory.getLogger(CaptchaImageController.class); private static final String NO_CACHE = "No-cache"; @Resource private SmsVerificationSer...阅读全文
使用go get下载github.com等网站的代码时,有时候会发现下载的代码与网站上的代码不一致。如seelog库 查看了go 1.1.2源码中get.go,发现下载代码时会首先查看命名为"go1"的tag。如果有,则下载此tag的代码,而非master分支的当前代码 解决方法(简单一点的): 到$GOPATH/src/第三方库源代码目录,执行git checkout master(或其他分支),切换分支; 执行go get <第三方库>命令,重新编译pkg中.a库文件; 重新go build
官网 https://github.com/larspensjo/config 示例代码 package main import ( "fmt" "strconv" "github.com/robfig/config" ) type Student struct { name string age int } const ( CFG_FIE_NAME = "students.cfg" SECTION1 = "Student 1" SECTION2 = "Section 2" OPTION_NAME = "Name" OPTION_AGE = "Age" ) func foo() { c := config.NewDefault() tom := Student{"Tom", 5} jerry...阅读全文
家里电脑diy了监控,用ffserver+ffmgeg。在外地通过http://ip:8090/test1.mpg访问家里监控。 有时候ip会变化,所以用go写了一个心跳程序。 源码: package main import "time" import "net/http" func main() { for { http.Get("http://www.myweb.com/ip.php") time.Sleep(600 * time.Second) } } 好简单!只比hello world难一点点,呵呵 不知道这个程序连续运行过程中是否会出现问题?有没有要释放的资源?连续运行几天内存是否会不断上升?偶尔联网失败是...阅读全文
平时除了写代码,唯一的娱乐就是看看小说,放松一下大脑了。但在这个网站广告铺天盖地的环境下,想单纯的看会小说也成了一个问题了。最近在学习golang,于是就想写一个小爬虫,把小说爬下来看而不用看到讨厌的广告了。网上大多数教程都是用第三方库,很多都是用github.com/PuerkitoBio/goquery这个库,但因为从来没写过web,对jquery的语法完全是空白,而go语言圣经上的示例用到x/net/html这个google自己维护的库来爬网站的链接,于是研究了一下这个库,写了一个小爬虫,事实证明这个库写爬虫完全没问题,只不过比goquery麻烦一点,毕竟goquery是在这个库的基础上封装的,这个库更底层一点。特写下这往篇日记,记心太烂,怕过一段时间又忘了。经过这几天恶补了一下htm...阅读全文
我们在使用tcp ip 通讯的时候,都需要使用心跳机制来判断服务器与客户端的连接状态,如果服务器的心跳超时等,会做出重新连接等机制, 基于这种问题,我今天给大家推荐了一个基于go语言的心跳响应机制,废话不多说直接上code: 源码在这儿 # heartbeat The heartbeat timer Heartbeat简介 Heartbeat是一个基于Go的多任务的定时响应回调 ## 安装 go get -u github.com/noaway/heartbeat Heartbeat的简单使用 创建任务 name, spec := "12138", 5 ht, err := heartbeat.NewTast(name, spec) if err != nil { fmt.Println(e...阅读全文
 在过去的 2017 年,流利星球的人数突破了 1000 位同学,平均年龄 26 岁,五湖四海聚集于此。 在加入流利星球之前,他们中很多人是独立设计师、创业家、自由开发者、摄影制片人、歌手、旅行达人、健身教练。  **我们今天来谈谈这 1000 位同学为何要加入流利说。** “我是流利说的老用户,很喜欢我们的 app,大学的时候经常会用,毕业的时候就想,讲不定可以试试看啊,所以后...阅读全文
之前在2017年2月份发布过一个主题,也是关于CRC16的,现在我直接把函数写出来,希望能帮到有需要的朋友。对于在线监测设备数据传输标准来说,CRC16校验算法有基于通用modbus协议的,有基于环保局HJT-212协议的,以下两个函数算出来的结果都已通过现场数据包验证。 //通用modbus CRC校验算法 func modbusCRC(dataString string) string { crc := 0xFFFF length := len(dataString) for i := 0; i < length; i++ { //通用modbus取寄存器的低8位参与异或运算 crc = ((crc ...阅读全文
慕课网是国内最大垂直类IT教育平台,目前有用户1100W+。 #用户基础好,流量高、持续分成,分成丰厚,没有时间地点限制。 #职位要求# 1.基础扎实,熟悉常用结构和算法。三年以上Golang使用经验。 2.精通Golang设计原理、源码分析和使用 3.有使用GO语言开发高并发、高可靠、可扩展的后端程序经验 4.热爱分享,逻辑清晰,语言表达能力强,有技术博客者优先。 contact:lirui@imooc.com QQ:154699251 慕课网BD经理 Gig...阅读全文
书接上回。现在我们知道_rt0_go这个汇编过程是GO语言的真正入口并做了一些初始化工作,本文来大略的过一下这个过程和它调用的几个runtime里的函数。 Windwos Live Writer写的文章,编码有问题,对不住各位:我不想改。 参数 MOVL argc+0(FP), AX MOVL argv+4(FP), BX SUBL $128, SP // plenty of scratch ANDL $~15, SP MOVL &...阅读全文
1.Go语言介绍 golang吉祥物 golang【Go】是Google公司开源的一种静态强类型编译型编程语言,于2019年11月正式对外公开。与解析型语言python有着本质的区别。编译型与解析型区别:编译型语言:源代码先经过编译器编译成机器语言,再由机器直接执行机器码即可执行。解析型语言:源代码先翻译成中间代码,再有解析器对代码进行解析并执行。Go语言特性1,跨平台,可以在Window、MacOS、Linux等平台上运行。2,高并发,go语言天生支持。3,支持面向对象和面向过程编程模式。4,语法上有指针,类似于C语言。5,具备垃圾回收机制。Go语言的发展历史=》详细介绍请阅览下面链接:Go语言发展简史Go语言应用 1,游戏服务器开发 2,云端服务器开发 3,区块链开发 应用Go语言的企业...阅读全文
起因: 作者本人我在知乎上看到很多人都在讨论这问题 所以想做下纳秒级运算的测试 前置声明: 双方都在 同一台电脑下 进行实验 双方都在 程序内部 进行时间计算 实验中有一方 需要 读取文件 进行 解释执行 公平起见,不借助于 第三方工具 进行 性能测试 双方 编译器版本 为 当前当前最新版(2019-10-21) Java 编译器版本:javac 13.0.1 Golang 编译器版本:go version go1.13.3 windows/amd64 双方 源码保证输出一致,并且 意义一致 双方都 进行编译,并使用 相应的执行方法 双方以 100次结果 的 消耗时间 取 平均值的整数 为 对比值 Java: 源码: class main { public static void main(...阅读全文
[Go语言中文网 - Golang中文社区](https://studygolang.com/) 源码 网站上线时间:2013-03-15 14:38:09 目前在线运行的是 Master。欢迎有兴趣的 gopher 们参与进来,一起构建一个完善的 Go 语言中文网,Go 语言爱好者的学习家园,参与方式请参考:[https://studygolang.com/topics/4092](https://studygolang.com/topics/4092) 首先你都需要下载代码,因为代码中有很多静态资源。可以[点击这里下载](https://github.com/studygolang/studygolang/archive/master.zip) 或 `git clone https...阅读全文
点融网-上海黄浦-互联网金融 融资状况:2015 年渣打银行领投,C 轮 2.07 亿美金 行业地位:行业排名 No.3,互联网金融协会常务理事单位 公司网址:www.dianrong.com 渣打入股点融网大猜想,“明日银行”长什么样? 传统银行首次注资 P2P 点融网 C 轮融 2.07 亿美元 帮助中国人更了解“钱”是什么,通过技术和产品把“金融”拉下神坛,让更多的人明白钱是可以为你工作的,而不是你为钱而工作! 希望你是下面这样的 薪资待遇 20-30K 起(高级岗),不设上限,鼓励创新和试错,充裕成长空间,还各种大神教你理财内幕干货,更有各种内部投资渠道福利(保守估计相当于每年多 1 薪) G...阅读全文
GO项目目录解释 src存放源代码 pkg编译后生成的文件 bin编译后生成的可执行文件 背景 在src目录下,新建文件test.go,编写代码。 控制台执行go build test.go 之后发现: 生成的test.exe并没有在bin生成,而是在与源码test.go同级目录src下生成。 解决 控制台执行go install $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('
import Go 使用包(package)作为基本单元来组织源代码,所有语法可见性均定义在 package 这个级别。同一 package 下面,可以有非常多的不同文件,只要每个文件属于相同的 package name。 每个源码文件的第一行必定要通过如下语法定义属于哪个 package, package xxx 然后就是导入本源码文件所使用的标准包或第三方包,即 import ( "a/b/c" "fmt" ) 标准库会从 GO 的安装目录下查找,第三方库会从开发者定义的 $GOPATH 下查找。当都找不到时,编译器就会报错。在使用第三方包的时候,当源码和 .a 均已安装的情况下,编译器链接的是源码。 注意: 上面语句中 a/b/c 最后的 c 为目录名,不是 package name。...阅读全文
首先说一下go中的字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。 Go语言的字符串的字节使用UTF-8编码标识Unicode文本,这样Golang统一使用UTF-8编码,中文乱码问题不会再困扰程序员。 字符串一旦赋值了,字符串就不能修改了:在Go中字符串是不可变的。 下面介绍字符串的三种遍历方式,根据实际情况选择即可。 常规遍历方式: var str = "Hello world!" for i := 0; i < len(str); i++ { fmt.Printf("str[%d]=%c\n", i, str[i]) } 运行结果: image 该遍历方式==缺点==:遍历...阅读全文
有一功能函数, 用于解析html并输出到 浏览器: ```go func (this *TemplateEngine) Dispatch(w http.ResponseWriter, r *http.Request, path string) { // 获取html所在位置 real_path := g_global_cfg["html_templ"] + path // 进行template解析 t, err := template.ParseFiles(real_path) CheckError(err) // 输出 err = t.Execute(w, nil) CheckError(err) } ``` 但是在浏览器只输出了h...阅读全文
最近打算阅读https://github.com/goraft/raft raft分布式一致性协议的源码...代码量较大,貌似也不太方便debug,请问各位大大有什么好的建议...阅读全文
没有解析之前直接fmt.Println的时候是 ������ 这样的乱码 在用json.Marshal 解析一个数据的时候解析出来的中文变成了\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ 这个样子,请问有什么办法吗...阅读全文
golang中处理http响应数据解码,一般有两种方式 json.Unmarshal进行解码 func HandleUse(w http.ResponseWriter, r *http.Request) { var u Use data, err := ioutil.ReadAll(r.Body) if err != nil { w.WriteHeader(http.StatusBadRequest) return } if err := json.Unmarshal(data, &u); err != nil { w.WriteHeader(http.StatusInternalServerError) return } w.WriteHeader(http.StatusOK) fmt.F...阅读全文
一个完整的golang的第三方package在这里:https://code.google.com/p/go-wiki/wiki/Projects 其中,我对这几个非常感兴趣: 1 一个验证码的包:captcha ,可以生成图片的验证码或者音频验证码,从示例上看,图片验证码挺不错的,源代码在这里: https://github.com/dchest/captcha 没有版权限制。 2 一款国人写的cms:toropress,这个没有出现在这份列表中,但成熟度已经非常高了,基于beego框架,beego框架同样是国人开发的 源代码:https://github.com/insionng/toropress 在线演示:http://www.sudochina.com 这个没有注明版权,不过看意思...阅读全文
新手go源码学习者。 在源码的目录结构中含有vendor,在源码基础上二次开发,在vendor中git clone 第三方开源库,比如gosips。编译源码后,一直 cannot find package "github.com/rainliu/gosips" in any of: /root/GoProject/src/github.com/elastic/beats/vendor/github.com/rainliu/gosips (vendor tree) /usr/local/go/src/github.com/rainliu/gosips (from $GOROOT) /root/GoProject/src/github.com/rainliu/gosips (fr...阅读全文