golang
wwqicode
这个作者很懒,什么都没留下…
展开
-
golang 回调函数 & 闭包
golang回调函数和闭包转载 2022-07-18 17:24:22 · 1465 阅读 · 0 评论 -
golang interface{}转int string slice
interface{}转普通类型如int、string可以直接类型转换:func interface2IntString(in interface{}){ in.(int) in.(string)}interface{}转slice不能如上直接转换, 这样是可以的,很方便。func interface2slice(in interface{}){ slice := make([]string, 0) slice, ok := in.([]string)}原创 2021-12-11 21:14:27 · 1536 阅读 · 0 评论 -
golang time.Tick比较time.Sleep
1.sleep进行定时任务 任务执行的时间对其实际定时间隔没有影响 睡眠紧跟在任务结束后2.sleep的定时间隔时间 = 上一个end 到 下一个begin 的时间3.而tick的实现 使用了一个协程来进行定时 任务执行的时间会对其实际间隔时间产生影响4.tick的(上一个begin到下一个begin时间) = max (定时间隔时间, 任务执行时间)...原创 2021-11-29 23:42:19 · 496 阅读 · 0 评论 -
Golang protobuf
什么是protobufprotobuf也叫protocol buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 、json进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。原创 2021-02-25 18:30:28 · 273 阅读 · 0 评论 -
go module
go module是golang自带的依赖管理库。可以把一个项目或目录下的所有依赖整理成一个go.mod文件。使用go module就不要求go的文件都放在src下。开启go module和中国代理$ echo "export GO111MODULE=on" >> ~/.profile$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile$ source ~/.profilego module的使用g原创 2021-01-02 16:44:09 · 94 阅读 · 0 评论 -
golang interface{}类型转换
golang interface{}类型转换interface转换成具体类型调用方式:interfaceVar.(具体类型)原创 2020-09-11 23:33:40 · 1963 阅读 · 0 评论 -
golang 树
使用golang来实现树的遍历树的定义package treetype Node struct { Val int Left *Node Right *Node}深度优先遍历深度优先遍历需要优先使用栈栈的定义type Stack struct { list *list.List} func NewStack() *Stack { list := list.New() return &Stack{list}}转载 2020-09-11 23:24:09 · 554 阅读 · 0 评论 -
golang append数组
golang切片append一个数组:list = append(append, anotherList...)mylist := make([]int, 0, 10)mylist1 := []int{1, 2, 3}mylist = append(mylist, mylist1...) //加上'...'就可以追加一个数组, 否则只能追加一个元素fmt.Print(mylist)fmt.Println(len(mylist))fmt.Println(cap(mylist))输出:[1原创 2020-07-05 15:28:22 · 17774 阅读 · 1 评论 -
golang 计时一个程序段的运行时间
用go语言计算一段程序运行消耗的时间:用到time包import ( "time" "fmt")func function(){ startTime := time.Now() ... 待计时程序段 ... elapsedTime := time.Since(startTime) / time.Millisecond // duration in ms fmt.Println("Segment finished in %dms原创 2020-06-29 12:29:56 · 4345 阅读 · 1 评论 -
Go语言基础知识点总结——包、函数、变量、常量、类型、流程控制
目录Go语言——包Go语言——函数Go语言——变量Go语言——const常量Go语言——类型Go语言——流程控制Go语言——包1、一个go语言文件的第一行写这个文件属于哪个包package main2、import 这个文件需要哪些包可以一行一行写import "fmt"import "math"也可以用括号()import ( "fmt" "math")3、用文件路径判断包package 包名(不用写一长串路径,写短原创 2020-06-25 11:58:59 · 195 阅读 · 0 评论 -
Hyperledger Fabric搭建
简单记录一下fabric版本1.4的环境搭建,运行环境为Ubuntu18.04,其中一些内容是根据官方文档整理的,如有错误欢迎批评指正。本文只介绍最简单的环境搭建方法,具体的环境搭建解析以后会有另一篇文章进行讲解。1.搭建Fabric的前置条件为了下载速度快一点,这里将Ubuntu的源改为国内的源(以阿里源为例):#首先进行配置文件的备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak#编辑配置文件sudo vim /etc原创 2020-05-30 20:22:53 · 433 阅读 · 0 评论 -
go get github.com/golang/protobuf/protoc-gen-go的问题
需要go的protoc-gen-go,但是因为golang被墙,go getgithub.com/golang/protobuf/protoc-gen-go的时候总是timeout。(但是如果你锲而不舍一遍一遍试,也是有可能能下下来的)一次失败的尝试我的上一篇博客写了先通过github下载源码,然后go install的方式。我的这次没有成功的尝试正是用的这个方法。在$GOPATH/src/golang.org/下 git clone https://github.com/golang/pro.原创 2020-05-10 18:53:31 · 9090 阅读 · 7 评论 -
go get 无法从golang下载安装依赖的三方库
因为golang被墙了,所以很多go语言的包用常用的go get或者gopm get下不下来。今天我需要编译几个工具,要用到的包如下go get github.com/kardianos/govendorgo get github.com/golang/lint/golintgo get golang.org/x/tools/cmd/goimportsgo get github.com/onsi/ginkgo/ginkgogo get github.com/axw/gocov/...go原创 2020-05-10 13:00:39 · 1288 阅读 · 0 评论 -
golang中的"..."
我在一个函数定义中第一次看到go语言"..."的用法。简单学一下,竟然还能这么用!第一种用法:函数传参第一个????:func toChaincodeArgs(args ...string) [][]byte { //...表示多个不定参数 bargs := make([][]byte, len(args)) for i, arg := range args { bargs[i]...原创 2020-04-21 22:35:38 · 246 阅读 · 0 评论