博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言中的坑
阅读量:5852 次
发布时间:2019-06-19

本文共 913 字,大约阅读时间需要 3 分钟。

package main;import (	"fmt"	"time"	"sync")//修改slice的坑func add(s []int) {	//当s通过append添加元素时,这里会发生内存重新分配	//s会指向新的地址	s = append(s, 3);}//当需要对slice进行修改时,建议通过函数返回值把该slice返回func add2(s []int) []int {	s = append(s, 3);	return s;}func main() {	//下面的二次打印结果都是[]	s := make([]int, 0);	fmt.Println(s);	add(s);	fmt.Println(s);	//add2()返回的slice才是真正的修改后的slice	s = add2(s);	fmt.Println(s);	//时间的格式化输出的坑	t := time.Now();	fmt.Println(t.Format(time.ANSIC));	//注意下面的字符串不能写错,写错了输出时间会不对	fmt.Println(t.Format("2006-01-02 15:04:05"));	//for range中闭包的坑	a := []string{"a", "b", "c"};	swg := sync.WaitGroup{};	swg.Add(3);	for _, v := range a {		go func() {			//注意,这里的闭包,v是引用的			//运行三次后,实际v指向的是slice最后一个元素			fmt.Println(v);			swg.Done();		}();	}	swg.Wait();	swg.Add(3);	for _, v := range a {		//修改成如下形式,以参数的形式传递进去		go func(s string) {			fmt.Println(s);			swg.Done();		}(v);	}	swg.Wait();}

  

转载于:https://www.cnblogs.com/jkko123/p/6820975.html

你可能感兴趣的文章
读《大学之路》有感①
查看>>
styled-components 全局样式定义,由injectGlobal改为createGlobalStyle
查看>>
Office Online Server 在线编辑Office文档,安装部署
查看>>
3N Numbers
查看>>
PYTHON 与 DJANGO 的时区问题
查看>>
IT人员必须掌握的10项软技能
查看>>
使用select遇到的坑
查看>>
织梦dedecms自定义搜索可以按照附加表字段进行搜索
查看>>
SPOJ DQUERY D-query (在线主席树/ 离线树状数组)
查看>>
python 3.6 setup
查看>>
VB6进行GZIP解压&C#进行GZIP压缩和解压
查看>>
第9章 泛型
查看>>
05 吸收应用-会整理还不够?教你吸收、联想、输出、应用
查看>>
Selenium Web 自动化 - Selenium常用API
查看>>
51Nod 1058: N的阶乘的长度(斯特林公式)
查看>>
变量类型以及传递
查看>>
chrome-解决该扩展程序未列在 Chrome 网上应用店中
查看>>
ASP.NET Session原理及处理方法
查看>>
oracle中order by造成分页错误
查看>>
foxmail配置邮箱pop/IMAP
查看>>