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

IE 11下载文件中文乱码解决(go/php)

IE 11下载文件的时候发现乱码. 网上查了下资料,了解了一下,主要是user-agent变了,不再是MSIE,面是rv:11.0这样,所以只要服务端判断出是IE 11,处理跟MSIE一样。 GO: func setDownloadFileName(w http.ResponseWriter, fileName, agent string) { if strings.Contains(agent, "MSIE") { fileName = url.QueryEscape(fileName) fileName = strings.Replace(fileName, "+", "%20", -1) } if strings.Contains(agent, "rv:") && strings.Co...阅读全文

博文 2016-04-07 21:00:06 rariki

golang中文unicode编码

http://www.dotcoo.com/golang-unicode-encode golang在很多时候要对中文进行unicode编码,今天有兴趣就写了一个,golang太爽了今天写了不少文章了.呵呵 package main import ( "fmt" "strconv" ) func main() { rs := []rune("golang中文unicode编码") json := "" html := "" for _, r := range rs { rint := int(r) if rint < 128 { json += string(r) html += string(r) } else { json += "\\u"+strconv.FormatInt(int64...阅读全文

博文 2014-10-05 00:00:01 DarkWingBoy

用Golang的 http 包建立 Web 服务器

http 包建立 Web 服务器 package main import ( "fmt" "log" "net/http" "strings" ) func sayhelloName(w http.ResponseWriter, r *http.Request) { r.ParseForm() //解析参数, 默认是不会解析的 fmt.Println(r.Form) //这些是服务器端的打印信息 fmt.Println("path", r.URL.Path) fmt.Println("scheme", r.URL.Scheme) fmt.Println(r.Form["url_long"]) for k, v := range r.Form { fmt.Println("key:", k) ...阅读全文

博文 2014-12-30 01:00:03 kanglecjr

Go Agent

在这片神奇的土地上,FQ应该是每个网友必需掌握的技能,FQ的首要,就是F过心里的Q。心中无Q,才是最重要的。本教程介绍用 GAE(Google App Engine)FQ的方法。GAE的官方介绍:“Google App Engine,在Google的基础架构上运行您的网络应用程序。” GAE的优点很多,首先它是完全免费的,并且非常稳定,其次它提供大流量,足够让你在YouTube上看各种视频了。 注意事项! 本教程开始之前需要准备Gmail账号和Chrome浏览器。go agent在这里http://www.dengyukeji.com/thread-567-1-1.html下载。 操作步骤 1、打开:https://appengine.google.com/,输入gmail用户密码登入。 2...阅读全文

博文 2015-06-18 09:09:14 dengyukeji

Go程序性能分析pprof

参考: http://blog.golang.org/profiling-go-programs http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html Go语言的pprof是Google C++ profiler的移植,所以用法也差不多。这里简要记录步骤如下: 1. 代码 要在Go语言中开启profiling,可以参考以下代码: import ( "runtime/pprof" // 引用pprof package "os" ) func main() { f, _ := os.Create("profile_file") pprof.StartCPUProfile(f) // 开始cpu profile,结...阅读全文

博文 2014-10-10 10:00:01 yhcharles

golang 开发windows应用

闲着无聊又玩go语言找虐。。。——用go开发windows应用程序 想要用go开发windows应用必须先要安装必要的组件: walk集成了很多windows的控件 go get github.com/lxn/walk win是go调用windowsApi的一种实现 go get github.com/lxn/win rsrc是连接walk/win和windows动态连接的工具 go get github.com/akavel/rsrc 有了这些我们就能实际的编码了 先测试一下winApi的有效性: 看了一下这位写的,比较到位,把之前编译运行报错的问题也找到了,恩感谢,但是源码里有段字符串拼错了 更正一下: // GoWin project GoWin.go package main imp...阅读全文

博文 2015-02-05 18:00:01 Keluzi

go “静态目录服务” http.FileServer

参照手册http://godoc.golangtc.com/pkg/net/http/#FileServer 里面给了Example: http.Handle("/", http.FileServer(http.Dir("/tmp"))) 这个是对目录提供静态映射服务,如果是单个文件 http.HandleFunc("/static/", func(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, r.URL.Path[1:])}) }) 完整例子: package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/", homeHandler...阅读全文

博文 2014-11-26 22:00:01 ywzjackal

在golang中使用mgo多条件查询

今天被mgo凶残的语法折腾跪了 磨了1个多小时才搞出来 特此纪念: 一般做简单查询,是这样写的:

collection := mgodbcontroller.GetMdb().C(mgodbcontroller.USER_WALLET_GS_LOG)//获取操作对象 //根据用户手机号 倒序查询前100个 存入slice中 if err := collection.Find(&bson.M{"uphone": phonenum}).Sort("-initimesamp").Limit(100).All(&historys); err == nil { for i, _ := range historys { fmt.Println...阅读全文

博文 2016-01-26 21:00:02 u012210379

Golang通过Thrift框架完美实现跨语言调用

每种语言都有自己最擅长的领域,Golang 最适合的领域就是服务器端程序。 做为服务器端程序,需要考虑性能同时也要考虑与各种语言之间方便的通讯。采用http协议简单,但性能不高。采用TCP通讯,则需要考虑封包、解包、粘包等等很多因素,而且想写个高效的TCP服务,也很难。 其实,对于此类需求,采用RPC(Remote Procedure Call Protocol)编程最靠谱。使用 RPC 编程被认为是在分布式环境中运行的客户机和服务器应用程序之间进行可靠通信的最强大、最高效的方法之一。 Golang内置了对RPC支持,但只能适用于go语言程序之间调用,且貌似序列化、反序列化性能不高。如果go语言能使用Thrift开发,那么就如虎添翼了。可惜,thrift虽然很早就包含了golang的代码,但...阅读全文

博文 2015-08-26 18:00:01 scut1135

golang的channel的几种用法

关闭2次 ch := make(chan bool) close(ch) close(ch) // 这样会panic的,channel不能close两次 读取的时候channel提前关闭了 ch := make(chan string) close(ch) i := <- ch // 不会panic, i读取到的值是空 "", 如果channel是bool的,那么读取到的是false 向已经关闭的channel写数据 ch := make(chan string) close(ch) ch <- "good" // 会panic的 判断channel是否close i, ok := <- ch if ok { println(i) } else { println("channel clos...阅读全文

博文 2015-05-29 03:00:00 ghj1976

nginx +golang

nginx 配置 01 #列出所有服务器地址,nginx 自动均衡分发请求到各个服务器。 02 upstream frontends { 03 ip_hash; 04 server 192.168.199.1:8088; 05 server 192.168.199.2:8089; 06 } 07 server { 08 listen 80; 09 server_name mydomain.com www.mydomain.com; 10 location / { 11 proxy_pass_header Server; 12 proxy_set_header Host $http_host; 13 proxy_redirect off; 14 proxy_set_header X-Real-...阅读全文

博文 2015-06-17 20:23:36 zb_liang

Go语言开发分布式聊天室

声明 我是一个刚学go语言的菜鸟,还没有资格谈论什么技术分享,只是为了展示fooking的实际应用,同时把我用go写的聊天室代码贴出来供大家消遣,如果有入不了各位法眼的代码,望轻喷。该聊天室基于fooking,而业务代码是采用Go + Fastcgi。 完整的源代码在 https://github.com/scgywx/fooking/blob/master/example/chat/gateway.go,全代码200多行,去掉router部分代码,实际逻辑代码只有170来行,逻辑简单,功能强大。 详解 聊天服务器的入口main函数里有3个IP和端口配置,分别是Chat服务器、Router服务器和Redis服务器。 func main() { listener, _ := net.Liste...阅读全文

博文 2015-08-28 15:00:04 IM鑫爷

golang从stdin中读取一行

本文转自life的leanote博客: http://leanote.com/blog/view/531706971a91084358000000 fmt.Scanln()不是读取一行, 而是遇到换行就停止, Scanln is similar to Scan, but stops scanning at a newline and after the final item there must be a newline or EOF. 举个例子: var i, j, k int fmt.Scanln(&i, &j, &k) fmt.Println(i, j, k) 输入1, 2 回车后程序结束. 如果换成fmt.Scan()还会让输入的. 使用stdin与reader联合起来读一行数据: ...阅读全文

博文 2014-10-04 19:26:59 lifephp

Go语言 常用日志记录方法

Go目前标准包中日志只是方便的实现日志记录的功能,这些日志都是基于fmt包的打印再结合panic之类的函数来进行一般的打印、抛出错误处理。 一个简单的日志记录代码例子: 代码来自:http://www.du52.com/text.php?id=114 package main import( "fmt" "log" "os" ) func main(){ logfile,err:=os.OpenFile("/Users/cybercare/tmp/test.log",os.O_RDWR|os.O_CREATE,0666) if err!=nil{ fmt.Printf("%s\r\n",err.Error()) os.Exit(-1) } defer logfile.Close() logg...阅读全文

博文 2014-10-10 12:00:00 abv123456789

偷看你在干嘛!golang实现, 基于dnsmasq的dns请求获取

源码地址 什么是dnsmasq(摘自网络) Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以为局域网电脑提供内网ip地址和路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。 更多详细 https://wiki.archlinux.org/index.php/Dnsmasq_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 什么是dnsmasq_admin? 这个东西是针对dnsmasq产生的日志做筛选,将用户...阅读全文

博文 2014-10-04 19:27:43 Able

使用Hugo搭建静态站点

虽然前一篇Blog宣称自己要用Markdown开始写Post,但实际操作起来还是发现了诸多不兼容问题(插件与主题间、插件与插件间的),让编写和修改文章变得十分繁琐,于是我研究了一下静态Web站点生成工具Hugo。Hugo是由前Docker的重量级员工(2015年8月末从Docker离职):Steve Francia实现的一个开源静态站点生成工具框架,类似于Jekyll、Octopress或Hexo,都是将特定格式(最常见的是Markdown格式)的文本文件转换为静态html文件而生成一个静态站点,多用于个人Blog站点、项目文档(Docker的官方manual Site就是用Hugo生成的)、初创公司站点等。这类工具越来越多的受到程序员等颇具“极客”精神的群体的欢迎,结合github.com...阅读全文

博文 2015-10-09 10:03:02 bigwhite

golang实现AT命令的发送(Windows版)

问题的提出 由于golang的微线程(goroutines)的特征,实现同时交互进行的任务变得自然而容易。一直想实现一个能对手机进行自动发送AT的程序,而实现相应的自动化测试。现在用golang来偿试一下。 问题所依赖的库 使用golang来实现的对串口的操作的库从网上找到了一个,就不用重新发明轮子啦。https://github.com/huin/goserial 在Windows下使用的文件如下: serial.go /* Goserial is a simple go package to allow you to read and write from the serial port as a stream of bytes. It aims to have the same API...阅读全文

博文 2014-10-04 19:26:11 huangliujing

GO编译环境搭建(基于SublimeText3)

1、我的机器是32位的win,可以去下面连接下载:http://download.csdn.net/detail/cumtwys/7695131 如果需要其他版本请到google官网下载(貌似被封了):http://code.google.com/p/go/downloads/list?q=OpSys-Windows+Type%3DInstaller 2、配置系统环境变量 新建变量名:GOBIN 变量值:C:\go\bin 新建变量名:GOARCH 变量值:386 新建变量名:GOOS 变量值:windows 新建变量名:GOROOT 变量值:C:\go 编辑PATH变量,在最后添加 ;%GOBIN% 3、配置Sublime Text 按住【Ctrl+shift+p】,在弹出框内输入【ins...阅读全文

博文 2015-02-22 01:00:01 cumtwys

【嗜血GO笔记】解决beego数据无法 更新和插入的问题

今天在用beego 做数据插入的时候遇到一个问题,我的配置都正确,但是数据始终无法插入,后来开启log之后发现: must have one register DataBase alias named `default` 意思是说,我必须要有一个别名被命名为:default的数据库 好,看我的代码: orm.RegisterDataBase("postgresDB", "postgres", "user=postgres password=123456 host=127.0.0.1 port=5433 dbname=serivicedb sslmode=disable"); 问题就是第一个参数:改为default即可。 开启log的方式,beego 官网有提到:http://beego.me...阅读全文

博文 2015-02-09 08:00:01 嗜血程序员

go和node.js的对比

go: Golang的诞生有着很强的目的性,所以根基显得非常的沉稳,语言未来针对高性能,高并发的优化也更得心应手。更主要Golang可以切实的解决实际问题,并在内存与CPU使用上大幅优于node。为此,针对有大量请求的服务端,Golang是个不错的选择。 从大型工程的角度来说,go 是完爆 Node 的。性能,内存开销,静态类型,对异步的处理,异常的处理,可调试性,系统稳定度,工具链的成熟度,等等,都是 go 占优。 Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Node.js No...阅读全文

博文 2016-05-24 18:00:00 qizhiqq

Go语言 如果查询度量内存和GC使用状况

创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 这篇文章会陆续总结一些内存、Gc度量的方法 首先是通过 stats := &runtime.MemStats{} runtime.ReadMemStats(stats) 这个来获取一个stat,里面包含了内存和垃圾回收的信息:GC时间分布slice,GC总时间,GC次数等等 type Garbage struct{ a int } func notify(f *Garbage) { stats := &runtime.MemStats{} runtime.ReadMemStats(stats) fmt.Println("Last GC was:", stats.LastGC) g...阅读全文

博文 2015-06-17 23:07:37 abv123456789

深入浅出golang errgroup.Group

生支持并发是Go语言最强大的特性,比如channels和goroutines。但是对于Go语言初学者尝试并接受并发概念并不是很轻松。 Go团队发布的第一个 goroutines 的管理工具是 sync.WaitGroup,WaitGroup会阻塞直到指定数量的goroutine已经完成执行,这是文档中的一个例子: var wg sync.WaitGroup var urls = []string{ "http://www.golang.org/", "http://www.google.com/", "http://www.somestupidname.com/", } for _, url := range urls { // Increment the WaitGroup counter...阅读全文

博文 2017-02-10 12:28:19 谢权

golang处理 json中非法字符

文: Hi there, I just discovered Go and decided to port a little program to Go. The program reads JSON-Data from an URL and process the Data. The Go port works well till now. I dont have any influence on the JSON data and so sometimes there are control character in it and my program crashes with "invalid character '\x12' in string literal" here the c...阅读全文

博文 2015-03-13 03:00:01 zhangqingping

使用Golang开发微信公众平台-接收文本消息

使用Golang开发微信公众平台-接收文本消息 十二 20 bigwhite技术志 Amazon, CDATA, Debug, EC2, Go, Golang, http, ngrok, Opensource, Tcpdump, Wechat, wireshark, XML, 公众平台, 开放平台, 开源, 微信, 服务号, 订阅号, 调试 2 Comments 一旦接入验证成功,成为正式开发者,你可能会迫不及待地想通过手机微信发送一条"Hello, Wechat”到你的公众号服务器。不过上一篇的那个程序还无法处理手机提交的文本消息,本篇将介绍如何用Golang编写公众号程序来接收手机端发送的 文本消息以及回复响应消息。 根据微信公众平台开发文档中描述:“当普通微信用户向公众账号发消息时,微...阅读全文

博文 2015-01-20 09:24:44 bigwhite

用Go实现异步的Web开发

不知道大家还记得不记得大约一年前,我的一个白日梦《关于Web编程异步模型的白日梦》,然后这个白日梦我又连续做了好几天《Web编程异步模型的PHP原生实现》、《Web编程异步模型的 Gearman 实现(残)》。 当时怎么也没相通,还死皮白赖的粘在PHP的异步实现上不肯放手。好吧,实现是繁琐的,应用是成功的,代码是容易写的,环境是要搭建的…… 昨晚睡觉前突然觉得自己应该真正用Go实现一下异步的Web,哪怕是个例子也好啊。于是,边吃饭,边敲了一票代码搞了一个很简单的demo,分享给大家吧。在这里下载完整的代码:webdemo。 包含以下文件: async.go——异步Web data.go——模拟数据 Makefile——不说了,你懂…… page.go——页面 sync.go——同步Web t...阅读全文

博文 2014-10-09 16:15:22 mikespook

如何在 Linux 上使用 x2go 设置远程桌面

本文系转载文章,原文链接:https://linux.cn/article-5708-1.html 由于一切都迁移到了云上,作为提高职员生产力的一种方式,虚拟远程桌面在工业中越来越流行。尤其对于那些需要在多个地方和设备之间不停漫游的人,远程桌面可以让他们和工作环境保持无缝连接。远程桌面对于雇主同样有吸引力,可以在工作环境中提高敏捷性和灵活性,由于硬件整合、桌面安全加固等原因降低 IT 花费。 在 Linux 世界中,理所当然设置远程桌面有很多选择,支持许多协议(例如 RDP、RFB、NX) 和服务器/客户端实现(例如TigerVNC、RealVNC、FreeNX、x2go、X11vnc、TeamViewer 等等)。 这当中有个出色的产品叫做 X2Go,它是一个基于 NX(译者注:通过计算机...阅读全文

博文 2016-01-30 08:00:00 yangkuanqaz85988

go语言 Golang官网被墙解决办法

初学者有时发现官网打不开,实在是一件很另人气馁的事,可能就直接放弃了,下面提供几个解决办法。 1. 修改hosts文件 找到hosts文件,Mac OS X/*nix在/etc/hosts,Windows在C:\WINDOWS\system32\drivers\etc\hosts 增加一行 173.194.75.141 golang.org 2. 本地启动godoc服务 godoc -http=:6060 通过浏览器访问http://localhost:6060即可。 3. 使用chm手册 astaxie维护了一份chm文档,这次可以看到https://github.com/astaxie/godoc,下载地址:https://github.com/astaxie/godoc/downloa...阅读全文

博文 2015-06-17 20:04:03 fer_ba

golang通过http端口访问hadoop

无聊尝试一下golang连接hdfs, 写了个hello world golang包地址 https://github.com/vladimirvivien/gowfs 安装 go get github.com/vladimirvivien/gowfs 写程序之前需要修改hadoop的两个配置文件 分别是 hsdfs-site.xml 里的 dfs.webhdfs.enabled dfs.webhdfs.enabled true core-site.xml 里的 hadoop.http.staticuser.user hadoop.http.staticus...阅读全文

博文 2014-10-04 19:27:18 dclink

Go 摆脱了 C,又惹上了 Java?

talks.golang.org 前几天放出了 PPT《Go in Go》和 《The State of Go》讲解最近 Go 的开发动态和成果: 随着 Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编) C 已经成为过去时了。 Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android) 4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗? 视频地址:https://www.youtube.com/watch?v=_c_tQ6_3cCg PPT 地址:http://talk...阅读全文

博文 2015-05-29 18:53:00 oschina

Go是如何用组合实现继承的

Go提供了很赞的并发支持,但是Go并不支持完全的面向对象。这并不代表Go不支持面向对象,而且Go的OO系统做的非常轻量,学习成本压到了最小。尽管为了做到这种轻量级的面向对象让Go失去了一些OO的方便特性,但是更高的效率和多返回值多少弥补了这一点。 那些完全支持面向对象的语言一般都具有继承的功能。继承有很棒的优点,最简单了讲,就是可以少写代码。当然,继承并不仅仅是让你省了敲几下键盘的功夫,它还能更好的抽象程序中各种类型之间的关系。 Go的OO系统不支持继承,但是可以使用Go中一种叫做"组合"的方法来实现继承。下面演示两段程序,看过了之后你就会明白Go的这种组合技巧了。 C++中的继承: #include using namespace std; class Person ...阅读全文

博文 2014-10-25 11:57:44 gophers

Go中error类型的nil值和nil

先看C语言中的类似问题:空字符串。 1 const char* empty_str0 = ""; 2 const char* empty_str1 = "\0empty"; 3 const char* empty_str2 = NULL; 以上3个字符串并不相等,但是从某种角度看,它们都是对应空的字符串。 empty_str0 指向一个空的字符串,但是empty_str0本身的值是有效的。empty_str1 指向一个非空的字符串,但是字符串的第一个字符是'\0'。empty_str2 本身是一个空的指针。 Go的error是一个interface类型,error的nil问题和C语言的字符串类似。 参考官方的error文档说明: http://golang.org/doc/go_faq.ht...阅读全文

博文 2014-11-05 13:00:01 kjfcpua

Go项目开发----2048小游戏

刚接触go语言不久,前段时间看到一个2048的项目开发教程,于是就试着练了下手。我的环境采用的是Ubuntu Linux环境。 源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048 游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的...阅读全文

博文 2014-10-22 19:00:01 hzy305365977

supervisor运行golang守护进程

最近在鼓捣golang守护进程的实现,无意发现了supervisor这个有意思的东西。supervisor是一个unix的系统进程管理软件,可以用它来管理apache、nginx等服务,若服务挂了可以让它们自动重启。当然也可以用来实现golang的守护进程,下面描述下具体实现。 安装supervisor 基于centos 6.4。 supervisor使用python编写的,可以用easy_install安装。centos上默认有python的运行环境,安装起来就非常简单了。 $ sudo yum install python-setuptools $ sudo easy_install supervisor 如果没有看到什么报错,那么就安装成功了,可以使用echo_supervisord_...阅读全文

博文 2015-07-17 03:00:00 cnsanshao

GO語言視頻教程

第1课:https://github.com/Unknwon/go-fundamental-programming/blob/master/lectures/lecture1.md Go开发环境搭建http://www.tudou.com/programs/view/hlDq2A0vNes/ 土豆网http://www.ucai.cn/course/chapter/69/3210/4555 优才网http://study.163.com/course/courseLearn.htm?courseId=306002#/learn/video?lessonId=421012&courseId=306002 网易云课堂第2课:https://github.com/Unknwon/go-fu...阅读全文

博文 2014-11-21 21:00:06 sibang

golang web 跳转的实现

package mainimport ( //"database/sql" //_ "github.com/mattn/go-sqlite3" "fmt" "html/template" "log" "net/http" "strconv")type User struct { ID int Name string}func (user User) String() string { format := `ID : %d Name: %s` return fmt.Sprintf(format, user.ID, user.Name)}func saveUser(w http.ResponseWriter, req *http.Request) { userId, _ := strconv.A...阅读全文

博文 2015-08-09 11:00:01 石头军

用Google看世界,妙用引擎“Index of”

网上有许多令人心动的共享软件,可惜的是它们或多或少都存在各种限制,对于我等贫苦一族来说,面对昂贵的注册费用只能望而却步,而且支付起来也不太方便(特别是国外的共享软件)。现在,只要利用Google强大的搜索功能,再配合一定的搜索技巧就会让你有意外的发现。 打开Google的搜索页面后,在搜索栏内填上你要搜索的软件名称、空格,并在后面加上“94fbr”的搜索代码(例如:WinZIP 94fbr),单击“搜索”按钮后你会看到所要的东西了。但该方法也并不是万能的,当没有找到合适的结果,则不妨再试试输入“软件名称 crack or sn or 破解”,一般都能找到了。 首先打开Google,在关键词输入框中输入index of lib,选择“搜索简体中文网页”选项,回车搜索,得到了一些网页,不要以为这...阅读全文

博文 2015-01-28 11:00:02 郑光宗

Golang Web文件上传

// fileUpload project main.go package main import ( "fmt" "html/template" "io" "log" "net/http" "os" ) var buf []byte func upload(w http.ResponseWriter, r *http.Request) { r.ParseForm() if r.Method == "GET" { t, err := template.ParseFiles("upload.gptl") checkErr(err) t.Execute(w, nil) } else { file, handle, err := r.FormFile("file") checkErr(err) f...阅读全文

博文 2015-02-12 19:00:01 未来还没来

golang中net包用法(三)--TCP和UDP以及Unix domain socket

type TCPAddr //表示TCP终端地址 type TCPAddr struct { IP IP Port int Zone string // IPv6寻址范围 } func ResolveTCPAddr(net, addr string) (*TCPAddr, error)//将一个地址解析成TCP地址形式,形如"host:port"或 "[ipv6-host%zone]:port",解析得到网络域名和端口名.其中net必须是"tcp","tcp4"或者"tcp6",IPv6地址字面值/名称必须用方括号包起来,如"[::1]:80"、"[ipv6-host]:http"或"[ipv6-host%zone]:80". func (a *TCPAddr) Network() stri...阅读全文

博文 2015-06-18 19:00:33 chenbaoke

go语言编辑器:liteide

LiteIDE is a simple, open source, cross-platform Go IDE. LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 项目地址:https://github.com/visualfc/liteide 下载地址:http://sourceforge.net/projects/liteide/ 百度云链接:http://pan.baidu.com/s/1mgCgx64 密码:vsip 安装方法:https://github.com/visualfc/liteide/blob/master/liteidex/deploy/welcome/en/install.md Windows 7 下安装使用: 解压百度云下载的文件: 运行b...阅读全文

博文 2015-10-09 11:00:11 osfipin

Golang 图片上绘制文字

之前介绍过使用 FreeType-go 来绘制字(http://www.cnblogs.com/ghj1976/p/3445568.html), 现在相关的包被做了整合,主要是整合到了 github.com/golang/freetype 和 golang.org/x/image/font 这里了,所以就有了这篇博客。 例子代码在: https://github.com/golang/freetype/blob/master/example/freetype/main.go package main import ( "bufio" "flag" "fmt" "image" "image/color" "image/draw" "image/png" "io/ioutil" "log" "o...阅读全文

博文 2016-03-11 10:00:01 ghj1976

Go语言(服务器开发):实现最简单的HTTP GET/POST接口

Go语言提供了http包,可以很轻松的开发http接口。以下为示例代码: package webserver import ( "encoding/json" "fmt" "net/http" "time" ) func WebServerBase() { fmt.Println("This is webserver base!") //第一个参数为客户端发起http请求时的接口名,第二个参数是一个func,负责处理这个请求。 http.HandleFunc("/login", loginTask) //服务器要监听的主机地址和端口号 err := http.ListenAndServe("192.168.1.27:8081", nil) if err != nil { fmt.Printl...阅读全文

博文 2015-06-17 23:01:43 books1958

golang 中unicode包用法

本文转自Golove博客:http://www.cnblogs.com/golove/p/3273585.html unicode 包中的函数和方法 // latters.go const ( MaxRune = '\U0010FFFF' // Unicode 码点最大值 ReplacementChar = '\uFFFD' // 代表无效的 Unicode 码点 MaxASCII = '\u007F' // ASCII 码点最大值 MaxLatin1 = '\u00FF' // Latin-1 码点最大值 ) ------------------------------------------------------------ // 判断字符 r 是否在 rangtab 表范围内 fun...阅读全文

博文 2015-06-21 00:00:18 chenbaoke

golang表单提交与服务器的交互

网络编程 socket,http,rpc,json处理 前端是Web+移动,后端是Linux(命令行centos)+开源 http编程 服务器和客户端(浏览器也是客户端) socket编程 rpc编程 ------------------------------------------------------------------------------server.go package main //服务端开发,特别是Web开发,基本上全是处理HTTP请求的处理。 //根据具体用途分为两种:Web页面开发和API接口开发。 //Web页面开发也完全可以看成是API接口开发,只是它的两个主要部分, //页面和ajax请求,一个是返回html,另外一个可以返回html,也可以返回其他格式的而...阅读全文

博文 2016-03-27 09:00:01 ice_201507

golang中image/color包的用法

color包是image包对于color重点介绍,实现了基本的颜色库 color中定义了如下几个变量 var ( Black = Gray16{0} White = Gray16{0xffff} Transparent = Alpha16{0} Opaque = Alpha16{0xffff} ) func RGBToYCbCr(r, g, b uint8) (uint8, uint8, uint8) //RGBToYCbCr将RGB的三重色转换为Y'CbCr模型的三重色 func YCbCrToRGB(y, cb, cr uint8) (uint8, uint8, uint8) //YCbCrToRGB将Y'CbCr上的三重色转变成RGB的三重色。 type Alpha //Alpha代表...阅读全文

博文 2015-06-18 17:04:31 chenbaoke

golang中net包用法(一)

net包对于网络I/O提供了便携式接口,包括TCP/IP,UDP,域名解析以及Unix Socket。尽管net包提供了大量访问底层的接口,但是大多数情况下,客户端仅仅只需要最基本的接口,例如Dial,LIsten,Accepte以及分配的conn连接和listener接口。 crypto/tls包使用相同的接口以及类似的Dial和Listen函数。下面对net包进行具体分析。 首先介绍其中常量: const ( IPv4len = 4 IPv6len = 16 ) 很容易看出这表示ip地址的长度(bytes),其中ipv4长度是4,ipv6地址长度是16 变量: 常用的ipv4地址: var ( IPv4bcast = IPv4(255, 255, 255, 255) // 广播地址 IP...阅读全文

博文 2015-06-17 20:17:00 chenbaoke

golang 反射

自:http://golanghome.com/post/546 自己在用Go写Web框架时,遇到要从接口中返回对象信息的技术问题。网上关于Go中接口反射的资料较少,所以自己学习了一段时间,特将结果与大家分享。 代码约定 import ( "fmt" "reflect" ) type boy struct { Name string age int } type human interface { SayName() SayAge() } func (this *boy) SayName() { fmt.Println(this.Name) } func (this *boy) SayAge() { fmt.Println(this.age) } func main() { // 定义接口变...阅读全文

博文 2015-04-04 03:00:00 rojas

Go 语言项目

出处:https://code.google.com/p/go-wiki/wiki/Projects Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.orggowalkergosearchSourcegraph Contributing To edit this page you must be a contributor to the go-wiki project. To get contributor access, send mail to adg@golang.org from your Google Account. Dead proj...阅读全文

博文 2014-10-10 16:00:01 leonzhouwei

Go-下载网上图片

package main import ( "bytes" "fmt" "io" "io/ioutil" "net/http" "os" "regexp" ) func main() { imagPath := "http://img2.bdstatic.com/img/image/166314e251f95cad1c8f496ad547d3e6709c93d5197.jpg" //图片正则 reg, _ := regexp.Compile(`(\w|\d|_)*.jpg`) name := reg.FindStringSubmatch(imagPath)[0] fmt.Print(name) //通过http请求获取图片的流文件 resp, _ := http.Get(imagPath) ...阅读全文

博文 2015-12-11 17:00:02 shuanger_