go
zengming00
只是睡着了
展开
-
golang传递接口类型参数时,什么时候用指针
conn, err = ln.Accept()go handleConnection(conn)看到这里我曾经有个疑问,为什么不是 handleConnection(&conn) ? 会想这个问题的人肯定都知道如果conn是个struct,那就会发生复制,可能是写时复制,也可能是立即复制,这里面发生了什么不太清楚,反正感觉就是浪费了资源,但如果是指针传递,那就放心了,因为我们知道那肯定就是原创 2018-01-04 15:06:46 · 10578 阅读 · 0 评论 -
golang http服务的长连接、Transfer-Encoding: chunked传输方式
用在win上用telnet测试发现连接可以长达10分钟保持不断,再次输入http请求仍然可以响应,实际上可不止10分钟,因为我只测试了10分钟,这种长连接会在某些情况下导致服务器问题。怎样强行中断连接?在数据量大的时候也是以Transfer-Encoding: chunked传输的,实际上下面的代码数据量并不大,w.Write([]byte("hehe"))却又不是chunked。 如果我们...原创 2018-07-19 17:46:11 · 5963 阅读 · 0 评论 -
golang 获取当前文件路径
import ( "errors" "runtime")func CurrentFile() string { _, file, _, ok := runtime.Caller(1) if !ok { panic(errors.New("Can not get current file info")) } return file}func Caller fu...原创 2018-07-18 14:36:14 · 10081 阅读 · 0 评论 -
golang 强制结束http response响应
// go 会自动关闭连接 // resp.Header().Set("Connection", "close")原创 2018-07-04 15:34:05 · 1720 阅读 · 0 评论 -
golang ip2long long2ip
func iptest() { var m = map[string]uint32{ "217.171.224.66": 3651919938, "80.101.64.8": 1348812808, "188.204.155.170": 3167525802, "74.86.158.107": 1247190635, ...原创 2018-05-17 17:35:14 · 1169 阅读 · 0 评论 -
go语言开发的js服务器
javascript web server, js server, 一种新的javascript写服务端程序的方案,没有回调,完全不同于node.js,更像php,或者说是披着js皮的go,由GO语言编写,能运行在各种操作系统和各种CPU上,例如:linux, windows, mac, android, openwrt, lede等https://github.com/zengming00/go...原创 2018-04-17 15:07:38 · 671 阅读 · 0 评论 -
golang unshift
package libimport "reflect"// data := []string{"A", "B", "C", "D"}// data = append([]string{"Prepend Item"}, data...)// 实现类似javascript中array的unshift功能func Unshift(slice, v interface{}) interfa原创 2018-02-05 18:10:20 · 1015 阅读 · 0 评论 -
go语言运行在openwrt路由器上, go1.8.3-golang-linux-mips-openwrt-lede
go1.8.3-golang-linux-mips-openwrt-lede,go语言1.8.3在mips芯片的openwrt路由器上运行为了方便玩路由器,我通过特殊的方法编译好了能在路由器上运行的go语言环境,并打包好了:下载地址:http://download.csdn.net/download/zengming00/10153100编译的过程记不太清楚原创 2018-01-29 14:11:40 · 6567 阅读 · 0 评论 -
go语言在range map时删除key,安全吗
package mainimport "fmt"type Info struct { value string}func main() { table := make(map[string]*Info) for i := 0; i < 10; i++ { str := fmt.Sprintf("%v", i) table[st转载 2018-01-08 16:30:27 · 10652 阅读 · 0 评论 -
golang encodeURIComponent
import ( "net/url" "strings")// 可以通过修改底层url.QueryEscape代码获得更高的效率,很简单func encodeURIComponent(str string) string { r := url.QueryEscape(str) r = strings.Replace(r, "+", "%20", -1) ...原创 2018-08-23 11:10:23 · 8581 阅读 · 1 评论