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) 我正在寻找计算执行时间的最佳方法.
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)
上面的代码工作正常.
但是当我使用模板时,我必须为每个模板函数再次编写它.
有没有一种有效的方法来计算执行时间,包括模板?
例如,有一个类似的功能:
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/)
这是我正在使用的代码:
package main
import "fmt"
import "math/rand"
func main() {
code := rand.Intn(900000)
fmt.Println(code)
}
Run Code Online (Sandbox Code Playgroud)
它总是回归698081.我不明白,有什么问题?
编辑:
我试过了 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