Go
文章平均质量分 96
CJQ99419
这个作者很懒,什么都没留下…
展开
-
grpc实操指南(golang)
gRPC 实操指南(golang)1 RPC(Remote Procedure Call Protocol)1.1 什么是RPCRPC即远程调用协议,简单来说就是调用远程的函数。正常单机开发的情况下,我们通过函数的方式实现部分功能的解耦func sum(num1,num2 int) int { return num1 + num2}如上是一个最简单的求和函数,我们只需要调用函数就可以实现求和的功能。但大部分时候函数不会这么简单,尤其对于非单机的分布式系统,远程调用就尤为重要。1.2原创 2021-02-03 16:34:20 · 874 阅读 · 0 评论 -
反转链表多种实现
反转链表的n种实现(go)一、双指针迭代法func reverseList(head *ListNode) *ListNode { if head == nil { return nil } else { var tmp *ListNode cur := head.Next pre := head for cur != nil { tmp = cur.Next cur.Next = pre pre = cur cur = tmp } head.Ne原创 2020-09-21 12:16:21 · 155 阅读 · 0 评论 -
golang Container包解析
golang Container包解析container包 包含了共三种数据结构,即:heap,list,ringlist源码解析1.遍历listfor e := l.Front(); e != nil; e = e.Next(){ //do something with e.Value}2. Element结构体// Element is an element of a linked list.type Element struct { // Next and previous p原创 2020-09-19 15:53:38 · 551 阅读 · 0 评论 -
关于go mod和内部包import
关于go mod和内部包import编写项目的时候遇到一个问题,即项目a在GOPATH/src中,a下有bc两个文件夹,b中的1.go需要调用c中的2.go。按照传统的import方法,应通过src下的相对路径进行引用。import "a/c"但此时如果如此编写,goland会提示无法reslove目录,即找不到对应ac的位置。最先项目没有放在src中,考虑是否因为没有放在GOPATH中导致无法找到,遂将项目转移到src下,问题并未解决。考虑是否goland配置有问题,查看全局gopath与项目g原创 2020-07-30 23:47:09 · 4297 阅读 · 1 评论 -
Go interface简解
Go interface简解根据oop的思想,接口定义了对象的行为,而具体行为的实现取决于对象。Go中,接口可以理解为一组方法的集合,即一个接口定义一个或多个方法。当一个类型为接口中所有的方法提供定义的时候,称其实现了这个接口。Go的核心:根据类型可以执行的操作而不是其容纳的数据类型来设计抽象。type Animal interface{ Speak() string}定义一个名称为Animal的接口,并定义speak方法,不接受参数返回一个字符串type Dog struct {}原创 2020-07-06 00:03:04 · 218 阅读 · 0 评论 -
Slices 切片
Slices 切片一、切片与数组请先了解一哈数组~一般创建并初始化数组,指定长度或让编译器自行计算a := [2]int{1, 2}b := [...]int{1, 3, 4}切片简单来说就是不指定长度的增强版数组切片的类型写法为 []T,T为数据类型,切片没有具体长度。切片的写法和数组大体相似,只是不指定元素个数。c := []int{1, 2, 4}此外,切片一般使用内置函数make进行创建func make([] T, len, cap) []T其中T表示元素类型,len原创 2020-07-06 00:01:40 · 369 阅读 · 0 评论