@kjk1/

gobook template custom function

Go

No description

fork
loading
Files
  • main.go

This Plugin Crashed!

Error: Error: must not create an existing file {"type":"CREATE_FILE","wid":"0.7453948456248816","path":"main.go","file":{"path":"main.go","content":{"asEncoding":{"base64":"cGFja2FnZSBtYWluCgppbXBvcnQgKAoJImxvZyIKCSJvcyIKCSJ0ZXh0L3RlbXBsYXRlIgopCgovLyA6c2hvdyBzdGFydApjb25zdCB0bXBsU3RyID0gYDUgKyA1ID0ge3sgc3VtIDUgLkFyZyB9fQpgCgovLyA6c2hvdyBlbmQKCmZ1bmMgc3VtKHgsIHkgaW50KSBpbnQgewoJcmV0dXJuIHggKyB5Cn0KCmZ1bmMgbWFpbigpIHsKCS8vIDpzaG93IHN0YXJ0CgljdXN0b21GdW5jdGlvbnMgOj0gdGVtcGxhdGUuRnVuY01hcHsKCQkic3VtIjogc3VtLAoJfQoKCXQgOj0gdGVtcGxhdGUuTXVzdCh0ZW1wbGF0ZS5OZXcoImZ1bmMiKS5GdW5jcyhjdXN0b21GdW5jdGlvbnMpLlBhcnNlKHRtcGxTdHIpKQoKCWRhdGEgOj0gc3RydWN0IHsKCQlBcmcgaW50Cgl9ewoJCUFyZzogNSwKCX0KCWVyciA6PSB0LkV4ZWN1dGUob3MuU3Rkb3V0LCBkYXRhKQoJaWYgZXJyICE9IG5pbCB7CgkJbG9nLkZhdGFsZigidC5FeGVjdXRlKCkgZmFpbGVkIHdpdGggJyVzJ1xuIiwgZXJyKQoJfQoJLy8gOnNob3cgZW5kCn0="},"asBuffer":null},"loaded":true}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"log"
	"os"
	"text/template"
)

// :show start
const tmplStr = `5 + 5 = {{ sum 5 .Arg }}
`

// :show end

func sum(x, y int) int {
	return x + y
}

func main() {
	// :show start
	customFunctions := template.FuncMap{
		"sum": sum,
	}

	t := template.Must(template.New("func").Funcs(customFunctions).Parse(tmplStr))

	data := struct {
		Arg int
	}{
		Arg: 5,
	}
	err := t.Execute(os.Stdout, data)
	if err != nil {
		log.Fatalf("t.Execute() failed with '%s'\n", err)
	}
	// :show end
}