上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页
  2017年6月9日
摘要: package main; import ( "container/list" "errors" "sync" "fmt" "encoding/json" ) //LRU(Least recently used)最近最少使用,算法根据数据的历史访问记录来进行淘汰数据 //核心思想是"如果数据最近被访问过,那么将来被访问的几率也更高" //常见的实现方式是用一个链表保存数据 //1.... 阅读全文
posted @ 2017-06-09 11:17 怀素真 阅读(1750) 评论(0) 推荐(0) 编辑
  2017年6月6日
摘要: io包 ioutil包 阅读全文
posted @ 2017-06-06 16:25 怀素真 阅读(10781) 评论(0) 推荐(0) 编辑
摘要: package main; import ( "log" "os" "time" "fmt" ) func main() { //创建输出日志文件 logFile, err := os.Create("./" + time.Now().Format("20060102") + ".txt"); if err != nil { fmt.Println(err); } /... 阅读全文
posted @ 2017-06-06 12:01 怀素真 阅读(15786) 评论(0) 推荐(1) 编辑
  2017年5月31日
摘要: path包的使用 filepath包的使用 阅读全文
posted @ 2017-05-31 14:23 怀素真 阅读(19395) 评论(0) 推荐(1) 编辑
  2017年5月26日
摘要: package main; import ( "time" "fmt" ) func main() { //time.Time代表一个纳秒精度的时间点 var t time.Time; //返回当前时间 t = time.Now(); fmt.Printf("%v\n", t); //反回所在时区 fmt.Printf("%v\n", t.Location()); //返... 阅读全文
posted @ 2017-05-26 16:49 怀素真 阅读(11608) 评论(0) 推荐(0) 编辑
  2017年5月21日
摘要: package main; import ( "fmt" "sync" "runtime" "time" ) //加锁,注意锁要以指针的形式传进来,不然只是拷贝 func total1(num *int, mu *sync.Mutex, ch chan bool) { mu.Lock(); for i := 0; i < 1000; i++ { *num += i; } ... 阅读全文
posted @ 2017-05-21 17:26 怀素真 阅读(3476) 评论(0) 推荐(0) 编辑
  2017年5月19日
摘要: heap堆的使用: list链表的使用: ring环的使用: 阅读全文
posted @ 2017-05-19 17:17 怀素真 阅读(3730) 评论(1) 推荐(0) 编辑
  2017年5月18日
摘要: 需要下载指定的golang的mysql驱动包 下面的例子: 阅读全文
posted @ 2017-05-18 15:33 怀素真 阅读(14019) 评论(0) 推荐(0) 编辑
  2017年5月13日
摘要: package main; import ( "os" "fmt" "strconv" ) func main() { //打开文件,返回文件指针 file, error := os.Open("./1.txt"); if error != nil { fmt.Println(error); } fmt.Println(file); file.Close(); /... 阅读全文
posted @ 2017-05-13 16:30 怀素真 阅读(23369) 评论(0) 推荐(4) 编辑
  2017年5月9日
摘要: package main; import ( "fmt" "strings" ) type person struct { name string; age int; } func main() { //判断是否包含某个子字符串 fmt.Println(strings.Contains("hello", "he")); //统计子符串的次数 fmt.Println(str... 阅读全文
posted @ 2017-05-09 14:52 怀素真 阅读(2481) 评论(0) 推荐(0) 编辑
  2017年5月7日
摘要: package main; import ( "fmt" "time" "sync" ) //修改slice的坑 func add(s []int) { //当s通过append添加元素时,这里会发生内存重新分配 //s会指向新的地址 s = append(s, 3); } //当需要对slice进行修改时,建议通过函数返回值把该slice返回 func add2(s []in... 阅读全文
posted @ 2017-05-07 15:31 怀素真 阅读(764) 评论(0) 推荐(0) 编辑
摘要: package main; import ( "fmt" "runtime" "sync" ) //goruntine奉行通过通信来共享内存,而不是共享内存来通信 //channel是goruntine沟通的桥梁,大都是阻塞同步的 //通过make创建,close关闭 //channel是引用类型 //使用for range来迭代操作channel //可设置单向或双向通道 //可设置... 阅读全文
posted @ 2017-05-07 11:53 怀素真 阅读(397) 评论(0) 推荐(0) 编辑
  2017年5月6日
摘要: package main; import ( "fmt" "reflect" ) //反射refection //反射使用TypeOf和ValueOf函数从接口中获取目标对象信息 //反射会将匿名字段作为独立字段 type A struct { id int; name string; age int; } type B struct { A height int; ... 阅读全文
posted @ 2017-05-06 15:27 怀素真 阅读(469) 评论(0) 推荐(0) 编辑
摘要: package main; import "fmt" //接口interface //接口是一个或多个方法签名的集合 //只要某个类型拥有该接口的所有方法签名,即算实现该接口。 //接口只有方法声明,没有实现,没有数据字段 //接口可以匿名嵌入其它接口,或嵌入到结构中。 //GO语言中的所有类型都实现了空接口 type Empty interface { } type Inf inter... 阅读全文
posted @ 2017-05-06 11:39 怀素真 阅读(463) 评论(0) 推荐(0) 编辑
摘要: package main; import "fmt" //重新定义一个类型 //为该INT类型扩展方法 type INT int; type A struct { name string; } type B struct { name string; } func main() { a := A{}; a.Print(); //指针传递 a.Print2(); fmt.... 阅读全文
posted @ 2017-05-06 10:22 怀素真 阅读(435) 评论(0) 推荐(0) 编辑
  2017年5月4日
摘要: package main; import "fmt" //结构struct //定义Person结构 type Person struct { name string; age int; }; //结构里面还有一个匿名结构 type Person2 struct { name string; age int; contact struct { phone string;... 阅读全文
posted @ 2017-05-04 16:10 怀素真 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: package main; import "fmt" func main() { a, b, c := A(1, 2, 3); fmt.Println(a, b, c); //调用函数B,虽然传入的是一个slice,但外部变量并未改变,说明是值拷贝 B(a, b, c); fmt.Println(a, b, c); d := []int{1, 2, 3}; //这里传入的是一... 阅读全文
posted @ 2017-05-04 11:16 怀素真 阅读(383) 评论(0) 推荐(0) 编辑
摘要: package main; import ( "fmt" "sort" ) func main() { //类似其他语言中的哈希表或者字典,以key-value形式存储 //创建key为int值为string的map var a map[int]string = map[int]string{}; 阅读全文
posted @ 2017-05-04 10:06 怀素真 阅读(365) 评论(0) 推荐(0) 编辑
  2017年5月2日
摘要: package main; import "fmt" func main() { //slice本身不是数组,指向底层的数组 //作为变长数组的替换方案 //slice是引用类型 //声明一个slice,这里不需要指定长度 var a []int; //创建一个数组 var b = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //通过... 阅读全文
posted @ 2017-05-02 17:36 怀素真 阅读(493) 评论(0) 推荐(0) 编辑
摘要: package main; import ( "fmt" ) func main() { //声明一个数组 var a [3]int; a = [3]int{1, 2, 3}; //声明并赋值 var b [3]int = [3]int{1, 2, 3}; //声明并赋值(省略类型) var c = [3]int{1, 2, 3}; //声明并赋值简写 d := [3]i... 阅读全文
posted @ 2017-05-02 16:28 怀素真 阅读(5461) 评论(0) 推荐(1) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页