- 博客(13)
- 资源 (11)
- 收藏
- 关注
原创 #define里使用可变参数
在C语言中,我们封装自己的打印函数时(如增加打印级别信息),可能需要在#define里使用可变参数,简单示例如下:#include <stdio.h>#define TRACE_DEBUG0(fmt, args...) printf(fmt, ## args)int main() { char *szMsg = "My Test : "; int count = ...
2020-04-24 11:08:36 3082
原创 记一次尴尬的调试错误:在形参表中不匹配
最近在学习c++ 2.0(11/14/17)新特性,刚写上几行代码,就遇到编译器报错:C2563 在形参表中不匹配, 代码如下:// C11TEST.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>template<typename T>void printTest(const T arg)...
2020-02-19 22:46:09 7667 10
原创 kafka学习:consumer消息
kafka学习:consumer消息由于历史原因,我们公司用的还是比较老的kafka版本0.10.1.0,最近由于项目需要,学习了kafka的使用,学习过程中了解到的一些知识记录下,以便日后查阅;写这篇文章时,主要带着这么几个疑问开始的:consumer如何加入group的?分区消费平衡怎么做的?consumer消费的offset如何指定的?consumer提交的offset如何保存...
2019-11-20 23:42:58 287
原创 kafka学习:broker数据处理
kafka学习:broker数据处理文章目录由于历史原因,我们公司用的还是比较老的kafka版本0.10.1.0,最近由于项目需要,学习了kafka的使用,学习过程中了解到的一些知识记录下,以便日后查阅;broker端网络处理模型acceptor:一个acceptor负责所有新连接;processors:acceptor对应多个process thread, 每个process...
2019-11-18 23:29:56 449
原创 kafka学习:produce消息
kafka学习:produce消息由于历史原因,我们公司用的还是比较老的kafka版本0.10.1.0,最近由于项目需要,学习了kafka的使用,学习过程中了解到的一些知识记录下,以便日后查阅;目录kafka学习:produce消息1. broker & topic & partition2. 发送消息分区选择3. 数据包格式4. golang数据封装...
2019-10-23 00:13:23 785
原创 golang函数实现默认参数
golang函数实现默认参数golang本身并不支持像C++那样的函数默认参数,不过可以自己实现相关方法达到默认参数的目的;以下用创建人的个人信息为例,名字必须输入,而邮箱地址和年龄可以不用输入,不输入时使用默认值,示例代码如下:package mainimport ( "fmt")type DetailInfo struct { Email string Ag...
2019-10-16 23:25:22 5389
原创 golang 静态代码检测工具golangci-lint使用
golang有没有类似于c++中的cppcheck静态代码检测工具呢?答案是有的,今天向大家推荐一个工具golangci-lint, 主要是安装和使用的时候遇到不少了坑,分享出来供大家避坑;以下是window下安装方法,结合vscode使用, 其他平台也可以参考一、常规安装方法使用命令: go get -u github.com/golangci/golangci-lint...
2019-09-25 18:01:01 13382 3
原创 golang nil值应用
nil主要是作为slice、map、函数、指针、interface的零值,使用时有两点需要注意:一、slice的元素清空package mainimport ( "fmt")func main() { var testList []int fmt.Println("testList1=", testList) testList = ap...
2019-09-23 23:52:29 315
原创 golang报错:slice bounds out of range
1. 场景1slice元素删除时,由于下标越界会报错“slice bounds out of range", 代码示例如下:package mainimport ( "fmt")func main() { var numList []int numList = append(numList, 1) numList = append(numLi...
2019-09-17 00:24:29 20149
原创 golang学习笔记之sync.Once
sync.Once主要作用是它调用的函数只会执行一遍,因此,对于资源释放的情况比较有用,因为不用担心重复执行时指针为空或者通道为空的异常异常;示例代码如下:package mainimport ( "sync")type Consumer struct { messages chan int closeOnce sync.Once}func (c *C...
2019-08-10 17:11:27 130
原创 golang学习笔记之panic recover
golang异常捕获后,可以记录堆栈信息到日志,方便以后分析,同时异常捕获后,主程序可以继续运行;recover初级用法示例代码如下:package mainimport ( "fmt" "runtime/debug" "time")func PanicTrace() { if err := recover(); err != nil { fmt.P...
2019-08-10 16:17:24 281
原创 golang学习笔记之slice元素删除
golang slice元素删除非常方便,可以直接在循环遍历的时候删除,而不用担心程序崩溃,结果也是和预期一致;示例代码如下:package mainimport ( "fmt")func main() { var infoSlice []int infoSlice = append(infoSlice, 1) infoSlice = append(...
2019-08-10 10:51:36 1519
原创 golang学习笔记之map元素删除
golang学习笔记之map元素删除golang map元素删除要比c++方便多了,可以直接在循环遍历的时候删除元素,而不用担心程序崩溃;示例代码如下:package mainimport ( "fmt")func main() { infoMap := make(map[int]string) infoMap[1] = "1" infoMap[2] = "2" info...
2019-08-10 10:32:50 425
C++分支界限法解The Game,Holedox Moving,Robot问题详解PPT
2010-10-17
C++分支界限法解推箱子问题
2010-10-17
C++ 回溯法求解Best Sequence,喷漆机器人问题,最小长度排列问题PPT详细文档
2010-09-30
C++ 回溯法求解罗密欧与朱丽叶的迷宫问题
2010-09-30
C++动态规划算法求解Bridging signals,Human Gene Function,Washing Clothes问题详解
2010-09-10
C编写windows程序拼图游戏
2010-09-10
C编写Windows程序打字游戏
2010-09-10
C++递归与分治算法解的Red and Black,分形(Fractal)以及Rank the Languages问题详解
2010-09-08
名片管理小系统-SQL课程设计
2010-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人