golang 知识点

1.//.(type),比如 username.(string)

&:类型断言,是interface{}转string

2..//判断网页中checkbox是否被选中

&:为checkbox添加value属性,后台判断r.FormValue(checkbox的name属性) != "",表示被选中

3.//直接输出HTML

string类型go的template处理时会自动做escape处理,用template.HTML类型就不会了

values := map[string]template.HTML{"html": template.HTML("<br/>")}

4.//slice赋值

var a = []string{
	"1",
	"2",
}

func Do() (c []string) {
       b := a
       log.Print(len(b), cap(b))//2,2   len = cap 了,append后将创建新的底层数组
       b = append(b, "3")
       log.Print(len(b), cap(b))
       log.Print(b, a)
       return b
}

func Do1() (c []string) {
	b := a //这是引用,b,a指向同一个底层array
	log.Print(b, a)
	b[1] = "3" //a同时变化
	log.Print(b, a)
	return b
}
//slice赋值
func Do2() (c []string) {
	c = make([]string, 2) //要先声明否则下面赋值时会越界
	copy(c, a)
	log.Print(c, a)
	c[1] = "2"
	log.Print(c, a)
	return c
}

slice具体使用可参考http://blog.golang.org/go-slices-usage-and-internals


本文来自:开源中国博客

感谢作者:陈好

查看原文:golang 知识点

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。