Go Programming Blueprints 读书笔记(谈到了nsq/mgo处理数据持

http.Handle("/", &templateHandler{filename: "chat.html"});http.Handle静态方法?带参数的函数对象参数?就是个普通的struct——为何不需要new?map类型的特殊语法:map[keyType]valueType –>只能认为Go里面map当作内置类型处理了chan可以认为就是Go routine之间消息通信的管道?每个chan里面的消息必须说同一种类型?struct内的定义是join chan *client,但使用却是 for { select { case client:= <-r.join: … } },编程风格太诡异了只能认为Go里面的*把代表指针类型,应该理解为引用?并且访问其成员使用.而不是->这里的for-select似乎借鉴了Erlang的惯用法创建chan:make(chan []byte) //不叫new叫make~处理文件上传:file, header, err:= req.FormFile("avatarFile") //文件保存在哪?multipart.File接口类型?data, err:= ioutil.ReadAll(file)接口应该越通用越好——但标准库确保已经定义了所有常用的吗?net/http包中内置的文件服务器:http.Handle("/avatars/", http.StripPrefix("/avatars/", http.FileServer(http.Dir("./avatars"))))bufios:= bufio.NewScanner(os.Stdin) //也许可用正则表达式进行扫描?for s.Scan() { … s.Next() … } //让我总是想起了Java的StringTokenizer类os/exec:用管道连接多个进程exec.Command:nextCmd.Stdin = thisCmd.StdoutPipe(),,然后挨个调用cmd对象的Start()方法并Wait()NSQ安装驱动:go get github.com/bitly/go-nsq安装MongoDB驱动:go get gopkg.in/mgo.v2mongod –dbpath ./dbiter:= db.DB("ballots").C("polls").Find(nil).Iter()TCP长连接netc, err:= net.DialTimeout(netw, addr, 5*time.Second) //Go的命名真tm见鬼,dial?httpClient = &http.Client{Transport: &http.Transport{Dial: dial, //使用定制的dial方法(?)}, }捕获OS信号termChan:= make(chan os.Signal, 1)signal.Notify(termChan, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP)实现RESTful APIvar vars map[*http.Request]map[string]interface{}var varsLock sync.RWMutex //Go里面使用读写锁,性能不会有问题吗?又见wrapper:func withAPIKey(fn http.HandlerFunc) http.HandlerFunc { … //这里已经使用了高阶函数了(Python装饰器?)withCORS(withVars(withData(db, withAPIKey(handlePolls)))))The Facade interface exposes a single Public method, which will return the public view of a structq.Lat, _ = strconv.ParseFloat(req.URL.Query().Get("lat"), 64) //库的API设计得很简洁var ZIP Archiver = (*zipper)(nil) //编译器会执行接口类型一致性检查case <-time.After(time.Duration(*interval) * time.Second): … //嗯?返回一个channel,此channel将发送指定的超时消息GOPATH //相当于Maven里的repo概念,或者JAVA_HOME?go get code.google.com/p/go.tools/cmd/goimports //嗯?怎么不是内置的

世上最累人的事,莫过於虚伪的过日子

Go Programming Blueprints 读书笔记(谈到了nsq/mgo处理数据持

相关文章:

你感兴趣的文章:

标签云: