golang 知识点

陈好 · · 3500 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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 知识点

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3500 次点击  
加入收藏 微博
上一篇:go 函数
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传