Golang
不可不戒
这个作者很懒,什么都没留下…
展开
-
Golang 目录文件数量和大小统计
《The Go Programming Language》笔记import ( "flag" "fmt" "io/ioutil" "os" "path/filepath" "sync" "time" )//获取目录dir下的文件大小 func walkDir(dir string, wg *sync.WaitGroup, fileSizes c原创 2016-11-29 12:46:01 · 6976 阅读 · 0 评论 -
Golang 并发的退出
《The Go Programming Language》笔记关闭一个channel,操作channel之后的代码可以立即被执行,并且会产生零值。广播机制:用关闭一个channel来进行广播。创建一个退出channel,不会向这个channel发送任何值。import ( "flag" "fmt" "io/ioutil" "os" "path/filepath原创 2016-11-29 14:02:56 · 4796 阅读 · 0 评论 -
Golang 并发非阻塞缓存
《The Go Programming Language》笔记import "sync"type Func func(key string) (interface{}, error)type result struct { value interface{} err error }type entry struct { res result ready chan原创 2016-11-30 10:39:21 · 2764 阅读 · 0 评论 -
Golang Display递归打印
《The Go Programming Language》笔记Golang的反射由reflect包提供支持,有两个重要类型:一个Type表示一个Go类型,它是一个接口。一个Value可以持有任意类型的值。import ( "fmt" "reflect" "strconv" )func Display(name string, x interface{}) { fmt.原创 2016-11-30 15:09:49 · 1723 阅读 · 0 评论 -
Golang 实现Bit数组
《The Go Programming Language》 笔记package mainimport ( "bytes" "fmt" )const target int = 32 << (^uint(0) >> 63) //判断当前系统是32位还是64位type IntSet struct { words []uint }func (s *IntSet) Has(x原创 2016-11-28 11:20:33 · 3246 阅读 · 0 评论 -
Golang 排序
《The Go Programming Language》 笔记//sorting.go package sortingimport ( "fmt" "os" "sort" "text/tabwriter" "time" )type Track struct { Title string Artist string Album st原创 2016-11-28 15:34:30 · 1563 阅读 · 0 评论 -
Golang中make与new的区别
golang 中有两个内存分配机制 :new和make,二者有明显区别.new:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。其自身是一个指针.可用于初始化任何类型。make: 返回一个有初始值(非零)的T类型,而不是*T,其只能用来初始化:slice,map和channel三种类型。package main import ( "fmt" )原创 2016-12-21 20:06:45 · 1355 阅读 · 0 评论 -
LeetCode Single Number III
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given nums = [1,原创 2017-01-02 22:27:55 · 641 阅读 · 0 评论