小编Özg*_*çın的帖子

Golang中的嵌套地图

func main() {
    var data = map[string]string{}
    data["a"] = "x"
    data["b"] = "x"
    data["c"] = "x"
    fmt.Println(data)
}
Run Code Online (Sandbox Code Playgroud)

它运行.

func main() {
    var data = map[string][]string{}
    data["a"] = append(data["a"], "x")
    data["b"] = append(data["b"], "x")
    data["c"] = append(data["c"], "x")
    fmt.Println(data)
}
Run Code Online (Sandbox Code Playgroud)

它也运行.

func main() {
    var w = map[string]string{}
    var data = map[string]map[string]string{}
    w["w"] = "x"
    data["a"] = w
    data["b"] = w
    data["c"] = w
    fmt.Println(data)
}
Run Code Online (Sandbox Code Playgroud)

它再次运行!

func main() {
    var data = map[string]map[string]string{}
    data["a"]["w"] = "x"
    data["b"]["w"] = "x" …
Run Code Online (Sandbox Code Playgroud)

dictionary go square-bracket

39
推荐指数
3
解决办法
4万
查看次数

有没有一种有效的方法来计算golang的执行时间?

我正在寻找计算执行时间的最佳方法.

func main() {
    start := time.Now()

    time.Sleep(time.Second * 2)

    //something doing here

    elapsed := time.Since(start)
    fmt.Printf("page took %s", elapsed)
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常.

但是当我使用模板时,我必须为每个模板函数再次编写它.

有没有一种有效的方法来计算执行时间,包括模板?

go execution-time

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

有没有一种有效的方法来连接golang模板中的字符串

例如,有一个类似的功能:

 func TestFunc(str string) string {
 return strings.Trim(str," ")
 }
Run Code Online (Sandbox Code Playgroud)

它运行在下面的示例中:

 {{ $var := printf "%s%s" "x" "y" }}
 {{ TestFunc $var }}
Run Code Online (Sandbox Code Playgroud)

反正是否有模板中的运算符连接字符串?

 {{ $var := "y" }}
 {{ TestFunc "x" + $var }}
Run Code Online (Sandbox Code Playgroud)

要么

 {{ $var := "y" }}
 {{ TestFunc "x" + {$var} }}
Run Code Online (Sandbox Code Playgroud)

它在操作数错误中给出了意外的"+".

我在文档中找不到它(https://golang.org/pkg/text/template/)

concat concatenation go go-templates

5
推荐指数
1
解决办法
6674
查看次数

golang中的随机数问题

这是我正在使用的代码:

package main
import "fmt"
import "math/rand"

func main() {
    code := rand.Intn(900000)
    fmt.Println(code)
}
Run Code Online (Sandbox Code Playgroud)

它总是回归698081.我不明白,有什么问题?

https://play.golang.org/p/XisNbqCZls

编辑:

我试过了 rand.Seed

package main

import "fmt"
import "time"
import "math/rand"

func main() {
    rand.Seed(time.Now().UnixNano())
    code := rand.Intn(900000)
    fmt.Println(code)
}
Run Code Online (Sandbox Code Playgroud)

没有变化.现在它总是回归452000

https://play.golang.org/p/E_Wfm5tOdH

https://play.golang.org/p/aVWIN1Eb84

random go

5
推荐指数
1
解决办法
1557
查看次数