自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 grpc实操指南(golang)

gRPC 实操指南(golang) 1 RPC(Remote Procedure Call Protocol) 1.1 什么是RPC RPC即远程调用协议,简单来说就是调用远程的函数。 正常单机开发的情况下,我们通过函数的方式实现部分功能的解耦 func sum(num1,num2 int) int { return num1 + num2 } 如上是一个最简单的求和函数,我们只需要调用函数就可以实现求和的功能。 但大部分时候函数不会这么简单,尤其对于非单机的分布式系统,远程调用就尤为重要。 1.2

2021-02-03 16:34:20 843

原创 leetcode 48.旋转图像

leetcode 48.旋转图像 从线性代数的角度,旋转矩阵有其他解法,此处仅考虑单纯的swap操作实现的旋转图像 再看看题目,重点要求原地旋转,换句话说不可以使用额外矩阵来做中间存储再写回,因此直接循环赋值的做法放弃。 要求整体顺时针旋转90度,此时我们只考虑单个元素的转移策略。由此三阶矩阵可以分为两层考虑,即最外面一层和5单独的一层,同理考虑二阶矩阵为一层,四阶也为两层,五阶为三层,可以推导公式,level = (n + 1) / 2 所以我们需要每层做个循环,然后每层单独处理。 再考虑每个层内部

2020-09-25 17:31:10 156

原创 反转链表多种实现

反转链表的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 144

原创 golang Container包解析

golang Container包解析 container包 包含了共三种数据结构,即:heap,list,ring list源码解析 1.遍历list for 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 535

原创 关于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 4268 1

原创 JDBC简单应用指南

JDBC快乐指南 by cjq99419 详例可见buptmail中的Utils与DAOImpl 本指南只做快速的实践指导,具体细节原理忽略。 1. JDBC是啥? Java DataBase Connectivity 简单来说,JDBC是sun提供的定义操作DB的接口,并由各个数据库厂商进行对应实现(如Mysql) 2. JDBC咋用? 导入jar包(add as library) 注册驱动 Class.forName("com.mysql.jdbc.Driver");

2020-07-06 00:06:37 145

原创 Go interface简解

Go interface简解 根据oop的思想,接口定义了对象的行为,而具体行为的实现取决于对象。 Go中,接口可以理解为一组方法的集合,即一个接口定义一个或多个方法。当一个类型为接口中所有的方法提供定义的时候,称其实现了这个接口。 Go的核心:根据类型可以执行的操作而不是其容纳的数据类型来设计抽象。 type Animal interface{ Speak() string } 定义一个名称为Animal的接口,并定义speak方法,不接受参数返回一个字符串 type Dog struct {}

2020-07-06 00:03:04 211

原创 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 350

原创 一个北邮新生的c语言贪吃蛇程序~

1、功能说明贪吃蛇游戏,随机产生蛇头和食物,可以调节游戏速度,自吃或碰壁死亡。2、流程设计本流程采用XMind软件,对于初学不适应正规流程图和伪语言等方法进行流程设计的人很适用,实际上个人觉得在结构上比正规流程图更加优化。3、函数设计说明(11个)void gotoxy(HANDLE hOut, int x, int y);  光标移动函数void Button();           取出按键...

2018-01-29 06:34:05 1518 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除