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

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

用Go语言写一个简单的HTTP服务器,及静态文件服务器

package main import ( // "fmt" "io" "log" "net/http" "os" "regexp" "time" ) func main() { serveMux := http.NewServeMux() serveMux.HandleFunc("/", SayHello) serveMux.HandleFunc("/bye", SayBye) // serveMux.HandleFunc("/static", StaticServer) server := http.Server{ Addr: ":8080", Handler: serveMux, ReadTimeout: 5 * time.Second, } err := server.ListenA...阅读全文

博文 2015-06-17 23:03:17 fansite

go语言http服务处理image/css/js等静态文件

go语言实现http服务器时如果处理静态文件,需要用到http.ServeFile: func ServeFile(w ResponseWriter, r *Request, name string) { dir, file := filepath.Split(name) serveFile(w, r, Dir(dir), file, false)} 首先根据请求路径r.URL.Path判断是否包含静态文件目录,如果存在则直接返回: img_dir := "/home/qinpeng" if strings.HasPrefix(r.URL.Path,"/img"){ file := img_dir + r.URL.Path[len("/img"):] f,err := os.Open(fil...阅读全文

Golang使用redis阻塞读brpop实现即时响应并发执行

实现 主要利用redis的brpop阻塞读和Golang的goroutine并发控制以及os/exec执行程序,实现队列有数据就立即执行对应程序并把结果set任务key。 运行参数 设置brpop的超时(-t)和同步调度时返回的结果ttl(-e) ./dispatchdeploy Usage: -h 192.168.6.151 -p 6388 -t 300 -a /path/testfile.pl -e 1800 -a string start appname (default "/path/testfile.pl") -e int redis expire time sec (default 1800) -h string redis ip -p int redis port (defau...阅读全文

博文 2017-06-20 13:07:16 飞天神猫

go revel在windows下的静态资源请求变成了下载

能请教一个问题么。revel在windows 8上,静态资源的请求, 比如http://localhost:9000/public/css/main.css。 在浏览器里打开,变成了下载。。 在linux和mac上是正确的。 routes里是这么配的: GET /public/*filepath Static.Serve("public") 之前我在win7上跑的时候也是正常的。后来换了个win8的,就跪了。。 ...阅读全文

why go?

Go编程语言开始于2007年。原始设计者Robert Griesemer 和Unix大师 Rob Pike和Ken Thompson。2009年11月10日,Go公开公布开源自由许可。 选择go的理由: Go设计可有效地扩展,以便用于构建大的应用程序。 编译速度快。语言容易解析,编译轻快。还有就是它的依赖管理。如app.go分别依赖pkg1.go和pkg2.go对象文件,传统编译语言需求依赖pkg1.go和pkg2.go对象文件。但是Go,pkg2.go缓存在pkg1.go对象文件中,所以构建app.go只需要pkg1.go对象文件。虽然三个文件关系有些复杂,但是结果是巨大提速。 Go语法清晰和容易理解。 Go是一门强静态类型语言。 Go更好地支持并发编程。 Go提供两个集合类型: slic...阅读全文

博文 2014-10-04 19:25:56 yang.z

golang引用静态链接文件问题

各位gopher,请教个问题。 我有个stuff.a文件需要import在自己的main.go中 根据网上资料,stuff.a文件放在$GOROOT/pkg/linux_amd64/下,在$GOROOT/src/中touch一个fake的source文件,即stuff/stuff.go。 如果stuff.a中有其他嵌套的import,则编译呢main.go会出现undefined的错误,即找不到stuff.a中的方法 如果stuff.a没有其他嵌套的import,则可以使用(当然嵌套和非嵌套对应的方法内容是不一样的,否则go install不会通过) 各位有遇到相同的情况么?go install应该带上什么参数么...阅读全文

深入源码分析go类型系统

深入源码分析go类型系统 Ø runtime/type.h go类型描述的静态信息 //type go类型最通用定义,go的类型系统通过这个数据结构来进行驱动 //Type是类型信息结构体中公共的部分 20 struct Type 21 { 22 uintptr size; //类型大小 23 uint32 hash; //hash值 24 uint8 _unused; 25 uint8 align; //对齐 26 uint8 fieldAlign; //field对齐 27 uint8 kind; //reflect包中的Kind类型就是这个,它是个类型的枚举值 28 Alg *alg; 29 void *gc; //垃圾回收相关 30 String *string; 31 Uncomm...阅读全文

博文 2016-03-24 12:00:01 hittata

golang加载css和js

├── main.go ├── static │ ├── css │ │ └── main.css │ └── js │ └── main.js └── view └── index.html 若有如上目录结构 // main.go func main() { http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) // 启动静态文件服务 // ... }