小编cod*_*ial的帖子

23
推荐指数
3
解决办法
1万
查看次数

在Go中合并地图

Go中将键值对从一个映射合并到另一个映射的最佳方法是什么?我正在使用一个简单的循环,但我想知道是否有类似PHP的东西array_merge可以使用.

bigmap := map[string]string{"a":"a", "b":"b", "c":"c"}
smallmap := map[string]string{"d":"d"}

for k, v := range smallmap {
    bigmap[k] = v
}
Run Code Online (Sandbox Code Playgroud)

go

14
推荐指数
1
解决办法
1608
查看次数

如何在net/http中取消注册处理程序?

我正在编写一个Web服务器,我需要在运行时注册处理程序.例如,"/ create"将为所有URL创建一个新的处理程序,如"/ 123/*"等.我需要一个相应的"/ destroy/123"来取消注册"/ 123/*"的处理程序.

这是处理"/ create"的代码

package main
import (
    "fmt"
    "net/http"
)

type MyHandler struct {
    id int
}
func (hf *MyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, r.URL.Path)
}

// Creates MyHandler instances and registers them as handlers at runtime
type HandlerFactory struct {
    handler_id int
}
func (hf *HandlerFactory) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    hf.handler_id++
    handler := MyHandler{hf.handler_id}
    handle := fmt.Sprintf("/%d/", hf.handler_id)
    http.Handle(handle, &handler)
}

func main() {
    factory := HandlerFactory{0}
    http.Handle("/create", &factory)
    http.ListenAndServe("localhost:8080", nil)
} …
Run Code Online (Sandbox Code Playgroud)

http go

10
推荐指数
2
解决办法
5454
查看次数

如果我在SELECT子句中使用别名,我该如何引用该别名?

我想做这样的事情:

SELECT round(100*(col_a - col_b)/col_a, 1) as Foo, Foo - col_c as Bar
FROM my_table
WHERE...;
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个错误说Foo不明.由于Foo是从一堆其他列的某些计算得出的,所以我不想再重复该公式Bar.任何解决方法?

sql

8
推荐指数
1
解决办法
2553
查看次数

使用go-mode自动完成

我试图通过go-mode加载.go文件时启用自动完成模式.如果我为Go源文件手动调用自动完成模式,它会起作用,但当我尝试将它添加到.emacs时,如下所示,它不起作用:

(add-hook 'go-mode-hook auto-complete-mode)
Run Code Online (Sandbox Code Playgroud)

我尝试了一些变化,但似乎都没有.以下是我的.emacs中Go-Mode代码段的样子:

;; Load Go Mode
(require 'go-mode-load)
(add-hook 'go-mode-hook 'auto-complete-mode)
Run Code Online (Sandbox Code Playgroud)

我尝试创建自己的钩子函数,如下所示:

;; Load Go Mode
(require 'go-mode-load)
(defun auto-complete-for-go ()
  (auto-complete-mode 1))
(add-hook 'go-mode-hook 'auto-complete-for-go)
Run Code Online (Sandbox Code Playgroud)

我也试过把钩子包括在里面,go-mode-load.el并且像这样go-mode.el调用auto-complete-mode:

(auto-complete-mode t)
(provide 'go-mode)
Run Code Online (Sandbox Code Playgroud)

两种方式都不起作用.我也像这样添加了go-mode-hookto auto-complete-default函数:

(defun ac-config-default ()
  (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
  (add-hook 'go-mode-hook 'ac-common-setup)
  ;; Other hooks
  (global-auto-complete-mode t))
Run Code Online (Sandbox Code Playgroud)

这也行不通.在为缓冲区启用主模式后触发命令的最佳方法是什么?

emacs go

4
推荐指数
1
解决办法
3154
查看次数

标签 统计

go ×4

emacs ×1

http ×1

implode ×1

php ×1

sql ×1