go
文章平均质量分 81
_内啥玩意啊
贵有恒,何必三更起,五更眠。最无益,只怕一日曝,十日寒
很多东西还需要探索
展开
-
go 闭包中的变量捕获 和 php闭包中的变量捕获
go闭包中的变量捕获 传递的是变量的引用 如下面示例:package mainimport "fmt"func main(){ a := 10 func(){ a = 20 fmt.Println("inside a is :",a) }() fmt.Println("outside a is :",a)}//o...原创 2018-07-29 22:38:34 · 215 阅读 · 0 评论 -
关于go的test
Test 的写法go的test一般以xxx_test.go为文件名。xxx的部分一般为xxx_test.go所要测试的代码文件名。go并没有特别要求xxx的部分必须是要测试的文件名。每个test文件必须import一个 testing因为testing里面包含了很多与test相关的东西,*testing.Ttest文件下的每一个test case 均必须以Test(T大写)开头并且符合 ...原创 2019-01-26 19:24:13 · 994 阅读 · 0 评论 -
golang 流量统计系统视频总结(一)
总体流程由于是模拟项目,所以先用golang生成一些假的用户访问日志数据,以便后面作分析。模拟用户访问日志部分代码实现(log.go):package mainimport ( "flag" "fmt" "math/rand" "net/url&原创 2019-01-13 23:03:26 · 1119 阅读 · 0 评论 -
golang 流量统计系统视频总结(二)
总体流程解析用户访问行为日志部分代码实现:package mainimport ( "bufio" "crypto/md5" "encoding/hex" "flag" "github.com/mediocregopher/radix.v2/pool" "github.com/mgutz/str" "github.com/sirupsen/logrus原创 2019-01-14 11:39:52 · 1040 阅读 · 0 评论 -
关于 go 数组指针的疑问
前面在学go指针的时候,认为 指针变量存放的是 内存地址值 , *操作符就是能拿到该内存储存的值然后将指针结合到数组的时候(数组指针),发现直接用指针就能操作数组了,而不需要用*普通变量指针操作package mainimport "fmt"func main(){ a := 10 p := &a *p = 20 fmt.Print(...原创 2018-07-31 12:10:04 · 675 阅读 · 2 评论 -
go 的指针理解
都说go指着跟 c 的比较像,其实不是很明白普通变量和指针的区别看到有人说 其实 普通变量 是程序创造出来的,比如说 c 中 a int 那么在编译时 就会有 [a 地址 int] 这样来标识内存 普通变量a其实是语言本身创造了,是为了更方便的表示内存。我们对a进行访问其实就是直接对内存进行访问。至于a表示的内存的地址是多少,程序员一般不用关心。编译器会自动分配地址,也就是常...原创 2018-07-31 02:12:30 · 3588 阅读 · 0 评论 -
go 关于包中的init函数
在学习go包管理中提及到 init 函数 于是做了如下测试:在src 目录下的 project1目录新建了 main 文件夹和 test 文件夹 然后在 test 文件夹中写了三个go文件,包都为 test在三个文件中都写了 init() 函数 ,三个文件的init函数类似下面func init() { fmt.Println("this is girl init")}...原创 2018-07-30 01:28:13 · 2059 阅读 · 3 评论 -
【转】Golang学习之同一个package中函数互相调用的问题
问题代码如下a.go:package mainfunc main(){ Test()}b.go:package mainimport "fmt"func Test(){ fmt.Println("Hello World!")}这两个文件都在同一个文件夹下,为什么在编译的时候提示:command-line-arguments.\a.g...转载 2018-07-30 00:40:05 · 5143 阅读 · 0 评论 -
go test 之 benchmark
Benchmark的写法benchmark函数一般以Benchmark开头,类似于BenchmarkXxx的格式命名,传入的参数是 b *testing.Bbenchmark的case一般会跑b.N次,而且每次执行都会如此关于b.N这个东西,为了让程序达到稳态,在benchmark跑的过程中N是会一直变化的,所以一定要让程序稳态进行,如果出现了非稳态的状况,它就会一直跑不完。所以要保证...原创 2019-01-27 01:58:03 · 2602 阅读 · 0 评论