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

go时间比较

go中time比较时需要注意写法 package main import ( "fmt" "time" ) func main() { format := "2006-01-02 15:04:05" now := time.Now() //now, _ := time.Parse(format, time.Now().Format(format)) a, _ := time.Parse(format, "2015-03-10 11:00:00") b, _ := time.Parse(format, "2015-03-10 16:00:00") fmt.Println(now.Format(format), a.Format(format), b.Format(format)) fmt.Pr...阅读全文

博文 2015-03-10 16:00:01 beyondforever68

golang: multiple http.writeHeader calls

背景: golang的http服务,读取文件,提供给client下载时候。 出现 multiple http.writeHeader calls 错误。 func DownloadFile(w http.ResponseWriter, r *http.Request, sequence uint64, userid string) { userkey := userid filename := r.FormValue("filename") if len(userkey) <= 0 || len(filename) <= 0 { //........ } fp := fmt.Sprintf("%s%s/%s", g_sc.Rootdir, userkey, filename) fd, err...阅读全文

博文 2015-02-27 03:00:01 zhangqingping

golang笔记-注释-标识符

Go语言注释 行注释://xxxxxx 块注释:/* xxxxxx */ Go语言关键字,严格区分大小写。 1.break 2.default 3.func 4.interface 5.select 6.case 7.defet 8.go 9.map 10.struct 11.chan 12.else 13.goto 14.package 15.switch 16.const 17.fallthrough 18.if 19.range 20.type 21.contiue 22.for 23.import 24.return 25.var Go语言预定义标识符 1.append 2.bool 3.byte 4.cap 5.close 6.complex 7.complex64 8.compl...阅读全文

博文 2016-04-09 23:00:01 golangerblog

golang的json的时间格式化解决方案

golang的json的时间格式化解决方案 1.通过数据查询的时候指定号格式,这样就不要再转格式了 2.通过time.Time类型穿件别名,然后为这个别名类实现MarshalJSON方法。 以下来自golang的原来注释 If an encountered value implements the Marshaler interface // and is not a nil pointer, Marshal calls its MarshalJSON method // to produce JSON. If no MarshalJSON method is present but the // value implements encoding.TextMarshaler instead...阅读全文

博文 2016-11-08 06:00:05 u013163178

golang 处理多个项目src编译问题 2.0

golang 处理多个项目src编译问题 2.0 和之前那个版本区分开来,改了一下脚本代码,支持多个package export GOPATH=$HOME/pj/go02 export PATH=$PATH:$GOPATH/bin export GOBIN=$GOPATH/bin export GOSRC=$GOPATH/src all: cd $GOPATH/src for file in $GOPATH/src/* do if test -d $file then echo ${file:(${#GOSRC}+1):${#file}} export PACKAGENAME=${file:(${#GOSRC}+1):${#file}} rm -rf $GOPATH/bin/$PACKAGE...阅读全文

博文 2014-12-14 08:00:01 诸葛囧明

学习for循环的小问题,恳请老师指点一下

```go 1:sum := 0 2:for i := 0; i < 10; i++ { 3:sum += i 4:} //这行以上好理解,我能懂 5:list := []string{"aaa", "bbb", "ccc"} //请问1,这里list的值是切片么?好像不是数组。 6:for _,v := range list{ //请问2,这_,与range配合起到啥作用?这个程序好像是死循环啊 7:fmt.Print("%s", v) 8:} //(右边是原文注释)这里使用了一个range,key和value分别是int和string类型,key是序号,从0开始,value是值 ``` 这是我学习时遇到的一个例子注释是我的疑问。请路过的老师扶一把,谢谢...阅读全文

golang工具基础——xml、template

go文件 package main import ( "fmt" "encoding/xml" "os" "text/template" ) type Member struct { Name string `xml:"name,attr"` Comment string `xml:"comment,attr"` } type Struct struct { Name string `xml:"name,attr"` Comment string `xml:"comment,attr"` Members []Member `xml:"member"` } type Result struct { XMLName xml.Name `xml:"result"` Structs []Struct...阅读全文

博文 2015-06-17 20:23:11 esrrhs

Notepad++来运行golang

在run命令里输入:cmd /k go run "$(FULL_CURRENT_PATH)" & PAUSE & EXIT 保存为goRun,就可以了,配置从go目录中的misc找到对应的xml导入即可,那个userdefine.xml要去掉最开头和结束的注释,后把go.xml考到notepad++的plugins的api目录下 具体: 1.如果notepad++安装目录有userdefine.xml,就不go的userdefine.xml的内容添加到目录下的userdefine.xml里面,结构go的都做好了,把没注释的拷贝到对应的结构去就行了 2、同样functionList.xm...阅读全文

博文 2015-06-17 20:18:53 icyday

ccah-500 第46题 Which scenario will go undetected

46.You are running Hadoop cluster with all monitoring facilities properly configured. Which scenario will go undetected? A. HDFS is almost full B. The NameNode goes down C. A DataNode is disconnected from the cluster D. Map or reduce tasks that are stuck in an infinite loop E. MapReduce jobs are causing excessive memory swaps Answer: B --> D refere...阅读全文

博文 2016-09-03 10:00:02 tianbaochao

ccah-500 第46题 Which scenario will go undetected

46.You are running Hadoop cluster with all monitoring facilities properly configured. Which scenario will go undetected? A. HDFS is almost full B. The NameNode goes down C. A DataNode is disconnected from the cluster D. Map or reduce tasks that are stuck in an infinite loop E. MapReduce jobs are causing excessive memory swaps Answer: B --> D refere...阅读全文

博文 2016-09-14 17:00:00 tianbaochao

golang-Tag

Tag 理解 Golang中可以对struct定义Tag 例如: type TestTag struct{ UserName string `json:"name"` Age Int `json:"age"` } json:"name"就是 UserName属性的tag。 我们可以在反射中获取Tag的内容。例如: if ctx,ok := reflect.Typeof(TestTag{}).Elem().FieldByName("UserName");ok{ fmt.Println(ctx.Tag) } Tag不仅可以当成注释来使用,还可以有更多使用地方。 使用 在解析json的时候可以利用到Tag,例如: str :=`{"name":"test","age":18}` temp:= []...阅读全文

博文 2018-01-15 07:30:01 Ljohn

【译】Golang中使用『弃用(Deprecate)』

Go语言很长时间都没有一套标记弃用API的定义规范。这几年,出现了个规范可以在文档当中添加弃用注释。 现在,标准库开始使用这个格式了。 举个例子,Go 1.8的包中sql/driver.Execer被弃用,这里增加了一套注释,它可以被godoc识别。 // Execer is an optional interface that may be implemented by a Conn. // // If a Conn does not implement Execer, the sql package's DB.Exec will // first prepare a query, execute the statement, and then close the // statement...阅读全文

博文 2017-02-10 15:55:43 Bryce

关于 httprouter 一段代码的意义

我想通过源码学习httprouter 发现下面这句话,但是不知道意义何在,谢谢解答 https://github.com/julienschmidt/httprouter/blob/master/router.go line: 165 // Make sure the Router conforms with the http.Handler interface var _ http.Handler = New() 注释说是确保实现 ServeHTTP 接口,但是是怎么确保的呢...阅读全文

golang Tag

Tag 理解 Golang中可以对struct定义Tag 例如: type TestTag struct{ UserName string `json:"name"` Age Int `json:"age"` } json:"name"就是 UserName属性的tag。 我们可以在反射中获取Tag的内容。例如: if ctx,ok := reflect.Typeof(TestTag{}).Elem().FieldByName("UserName");ok{ fmt.Println(ctx.Tag) } Tag不仅可以当成注释来使用,还可以有更多使用地方。 使用 在解析json的时候可以利用到Tag,例如: str :=`{"name":"test","age":18}` temp:= []...阅读全文

博文 2018-01-12 11:33:07 johnL

有趣的defer

package main import "fmt" func main() { message := "消息1" defer func() { fmt.Println("第一个defer:", message) }() message = "消息改变了" defer func(m string) { fmt.Println("第二个defer:", m) message = "消息又改变了" }(message) message = "消息2" }有趣的defer,试着注释其中某些行,猜猜最终输出的是什么...阅读全文

博文 2019-02-12 13:50:31 UYAD

分享一波golang公链学习资料

尹成翻译注释版bitcoin-golang 源码https://github.com/yinchengtsinghua/golang-bitcoin-chinese尹成翻译注释版以太坊ethereum源码https://github.com/yinchengtsinghua/go-ethereum-chinese尹成翻译注释版超级账本fabric源码https://github.com/yinchengtsinghua/Fabric-Chinese尹成基于以太坊实现EOS的dpos共识算法,实现go版本EOS的dpos公链https://github.com/yinchengtsinghua/golang-Eos-dpos-Ethereum尹成定制翻译版ipfshttps://github....阅读全文

博文 2019-01-22 18:34:43 兄弟连区块链培训

Golang 反射 reflect 得 Bug

package mainimport ( "fmt" "reflect")type GoRute struct {}func (gr *GoRute) Test(a, b string) (string, error) { return a + " " + b, nil}func (gr *GoRute) Demo(a, b string) (string, error) { return a + " DDM " + b, nil}func main() { RuteRun("GoRute", "Test") RuteRun("GoRute", "Demo")}func RuteRun(ctl, mtd string) { switch ctl { case "GoRute": gr := ...阅读全文

博文 2018-11-29 17:06:43 yujianxianjun

注释掉runtime.Gosched()后,没有起作用

goroutine是非抢占式任务处理,主动交出控制权。下面这段代码,一个main协程,在main协程中开了10个goroutine,每个goroutine分别进行a[j]++的操作,一直循环下去。因为goroutine是主动交出控制权的,所以for死循环应该会一直运行下去。所以运行这个代码后程序会一直运行下去,只要不手动停止程序。 代码1 func main() { var a [10]int for i := 0; i < 10; i++ { go func(j int) { for { a[j]++ } }(i) } time.Sleep(time.Millisecond) //1毫秒 fmt.Println(a) } 当...阅读全文

类型声明对[]byte似乎不需要显式强制类型转换,很奇怪哦~

```go package main import "fmt" type B []byte type S string func main() { var b = B([]byte("hello")) P(b) Pr([]byte("hello")) //var s = S("world") //SS(s) //SSr(string("world")) } func P(b []byte){ fmt.Println(b) } func SS(s string){ fmt.Println(s) } func SSr(s S){ fmt.Println(s) } func Pr(b B){ fmt.Printl...阅读全文