2020
12-23
12-23
使用go操作redis的有序集合(zset)
我就废话不多说了,大家还是直接看代码吧~packagemainimport("fmt""github.com/garyburd/redigo/redis")funcmain(){//连接redis数据库,指定数据库的IP和端口conn,err:=redis.Dial("tcp","36.99.16.197:6379")iferr!=nil{fmt.Println("Connecttorediserror",err)return}else{fmt.Println("Connecttoredisok.")}//函数退出时关闭连接deferconn.Close()//执行一个有序zset插入_,err=conn.D...
继续阅读 >
我就废话不多说了,大家还是直接看代码吧~packagemain//引入所需包import("os""compress/gzip""io/ioutil""fmt")//gzip文件varfn="./113.200.251.66_1510825558_A6D39783B05943D8ACA64F397748CF1B_vdn.gz"funcmain(){println(fn)//打开本地gz格式压缩包fr,err:=os.Open(fn)iferr!=nil{panic(err)}else{println("openfilesuccess!")}//defer:在函数退出时,执行关闭文件defe...
使用gomod之后,想要在goland中有代码提示,有两种方式,一种是使用gopath下的goimport工具,另一种是使用gomod自身的管理工具我是用的是非gopath的方式,每次新建项目后总是报错golist-m:can'tcompute'all'usingthevendordirectory(Use-mod=modor-mod=readonlytobypass.),得不到想要的效果,最后终于发现是步骤不对第一步:创建空文件夹第二步:goland以项目方式打开文件夹第三步:设置goland中的配置,goroot,g...
vendorvendor概念最早是由Keith提出,用来存放依赖包。在版本1.5出现。例如gb项目提供了一个名为gsftp的示例项目,它有一个gsftp程序,在标准库之外有三个依赖项。golang.org/x/crypto/ssh,golang.org/x/crypto/ssh/agent和github.com/pkg/sftp。按vendor概念调整的目录结构如下:$GOPATH|src/||github.com/constabulary/example-gsftp/|||cmd/||||gsftp/|||||main.go|||vendor/||||github.com/pkg/sftp/|...
我就废话不多说了,大家还是直接看代码吧~/**二分幂法求x^n*///求整数幂packagemainimport("fmt""math")funcmain(){varxfloat64varnintfmt.Scanf("%f%d",&x,&n)fmt.Println(powerf(x,n))fmt.Println(powerf2(x,n))fmt.Println(powerf3(x,n))fmt.Println(math.Pow(x,float64(n)))}funcpowerf(xfloat64,nint)float64{ans:=1.0forn!=0{ifn%2==1{ans*=x}...
golang语言协程协程中使用全局变量、局部变量、指针、map、切片等作为参数时需要注意,此变量的值变化问题。与for循环,搭配使用更需谨慎。1、内置函数时直接使用局部变量,未进行参数传递funcmain(){fori:=0;i<100;i++{gofunc(){fmt.Println(i)}()}}运行效果funcmain(){fori:=0;i<100;i++{gofunc(iint){fmt.Println(i)}(i)}}运行效果2、地址传递的参数typePer...