package main
import (
_"flag"
_"fmt"
_"strings"
_"bytes"
"log"
"os"
"text/template"
)
type Yee struct{
Gee []Student
Ff string
}
type Student struct{
Name string
Age int
Sex string
Habbits []string
Normal string
}
const templ = `students{{.Ff}}:
{{range .Gee}}-----------------------------
Name:{{.Name}}
Age:{{.Age}}
Sex:{{.Sex}}
Habbits:{{range $_,$habbit :=.Habbits}}{{$habbit|printf "%s\t"}}{{end}}
Normal:{{.Normal|addString}}{{printf "\n"}}
{{end}}
`
var students = []Student{
{Name:"Marco", Age:19, Sex:"男'", Habbits:[]string{"music", "sing", "write"}, Normal:"正常"},
{Name:"Mike", Age:20, Sex:"男'", Habbits:[]string{"basketball","art"}, Normal:"正常"},
{Name:"Marry", Age:17, Sex:"女'", Habbits:[]string{"art","sing","paino"}, Normal:"正常"},
}
func addString(normal string)string{
return normal+"模式"
}
func main(){
/* flag.Parse()
fmt.Print(strings.Join(flag.Args(),*sep))
if !*n{
fmt.Println("hos wuli back")
}*/
z :=&Yee{Ff:"hoho",Gee:students}
report :=template.Must(template.New("report").Funcs(template.FuncMap{"addString":addString}).Parse(templ))
if err :=report.Execute(os.Stdout,z);err!=nil{
log.Fatal(err)
}
}