- 博客(32)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 golang的“虚继承“与“方法“
总结: 编译器会自动为类型使用"匿名组合和*&转换"等隐式转换添加方法. 但是使用interface的时候,由于interface是值拷贝,所以指针方法无法修改到interface接口所赋的值. 所以interface断言中不承认类型拥有指针方法,也不隐式转换匿名值类型字段的指针方法.package mainimport ( "fmt")type Speraker interface { Say() Cry()}type Man struct { *H...
2022-04-02 08:58:22 302
原创 interface{} 是对所赋值的值拷贝
代码package mainimport ( "fmt")func main() { var num int = 3 var iOfNum1 interface{} = num var iOfNum2 interface{} = num var iOfIOfNum1 interface{} = iOfNum1 var iOfIOfNum2 interface{} = iOfNum2 info(num) info(iOfNum1) info(iOfNum2) info(i.
2022-03-31 14:34:47 249
原创 golang 一个实现枚举的奇淫巧计
golang 是没有枚举的概念的.只能通过定义值来实现枚举的功能.例如typeLeveluint32const( PuTongLevel=iotaYuJingBaoJing)但是如果枚举中出现同名就会出现错误.例如下面的和上面的不能在一个包里面type Useruint32const( PuTongLevel=iota Vip)那如何实现Level.PuTong User.Putong呢?既然定义常量...
2021-01-06 09:27:25 941
原创 计算机基础概念
内存:能够存储不同状态的硬件产品数值:内存状态的到数学语言表达方式cpu:能够读取内存值,根据内存中的值修改内存的硬件产品数量:数值结合其使用方法形成的有意义的映射,计算机中使用不可执行内存片段存储其数,使用可执行片段存储其量.常量:不可修改的内存片段变量:可以被修改的内存片段函数:变量变化的规则执行/调用:函数的生效过程方法:和变量绑定的函数对象:量和方法的抽象集合...
2020-10-09 09:05:15 103
原创 网页布局
所有HTML元素都相当于boxcontent的尺寸设置inline(行内)元素会在一条直线上排列(默认宽度只与内容有关)block元素各占据一行(默认宽度和父元素的宽度一致,与内容无关)块级元素可以包含行内元素和块级元素。行内元素只能包含文本或者其它行内元素。行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效...
2020-10-09 08:56:28 84
原创 golang的flag包学些笔记
此包的作用是将命令行风格字符串解析到变量中.将 -name=geng -age=18 解析到 var name string var age int 中flag中保存的是一个键值对的信息.-name=geng解析出来的结果必须实现Value接口.才能实现自动解析string 和 int 有默认的value实现flagset是flag的一个集合.保存整个命令行的信息....
2020-06-23 20:47:06 123
原创 从设计理念上理解公众号-微信公众平台开发的学习笔记
公众号:公众号的开发商,他们通过使用微信的公众平台向关注者提供服务.我们的老板.公众平台:微信开放给公众号向微信用户提供服务的运营商.关注者:关注了公众号的微信用户.通信协议大致分为如下三类1:公众平台向公众号发送的验证消息功能:向公众发发送认证消息.格式:功能和参数都包含在url中.body为空的GET请求2:公众平台向公众号推送消息功能:关注者的动作,关注者发送消息,人员变动,权限变化等格式:api名字包含在url中,body为XML格式的消息内容3:公众号向公众
2020-05-29 11:41:19 791
原创 keil中__weak的功能和应用
__weak可以应用于函数的声明和实现.若使用__weak修饰声明 __weak void function(void);执行 function(); 语句时,当前文件中实现了function函数则调用本文件中的function函数,否则执行一条NOP空操作.若使用__weak修饰实现__weak void function(void) {}执行 function(...
2019-08-15 11:14:13 5878
原创 js学习笔记
js是由浏览器解析的脚本语言.js的数据类型:字符串,数字,布尔,引用.对象,数组,函数可以通过变量使用的数据类型:字符串,数字,布尔,引用.引用类型可以引用:对象,数组,函数所有内容都包含隐式或显示全局对象window.函数中的this指向器调用者.var function 是编译时用的声明var x = new fun() 是这两局的简写 var x = new ...
2019-05-31 16:43:35 148
原创 beego 学习笔记
1:mvc理解:V是前端展示数据的图形M是数据提供者.一个工程提供的数据是相同的.数据的访问方式也是相同的.所以M是复用率很高的模块.M大量使用"缓存"这一技术.代替了很多cs编程模式中的自定义数据结构.大大的提高了开发效率(反正现在设备不值钱.而且相对与服务器性能,网络才是真正瓶颈)再次提醒自己:计算机不差你少用的那十几个周期.不要再为了那些看不出来的性能浪费大量时间扣了.你写的已经...
2019-05-13 17:24:15 750
原创 golang中slice和map的编程老手go新手的易踩坑.
有c++经验的人通常看到slice和map都容易有种把他们等同于容器的想当然错觉.实际上go的标准库中有容器.语言标准中自带的slice和map实际上是对"容器"的引用.也就是说他们本身并不是存储类型.真正的存储不可见.这两种类型可以理解为一种带操作符的接口....
2019-02-18 10:08:08 594
原创 站在web技术的肩膀上
今天学习了web技术.web技术太繁杂了.做个笔记,对web技术做个总览.文字版本 浏览器是把字符串解析成可展示内容的工具. 字符串解析成可展示内容的技术叫做前端 字符串的内容经常是html语言描述的页面 页面中包含浏览器需要解析出来的各种对象 对象可以是js语言或对其他...
2018-12-15 16:59:46 151
原创 Qt creater手动编译静态mysql库
Qt发布程序一直被人吐槽。最近尝试了一下编译静态Qt库。参考这篇文章除了耗时,其他很顺利。因为我一直使用mysql。编译完才发现静态库中并没有mysql。如果一开始编译参考这篇文章就可以直接编译好mysql了。如果你像我一样先编译好了不带mysql的静态库,怎么单独编译静态版本的mysql库呢?像编译dll一样我们青铜是肯定用Qtcreater的。这个过程我参考了一个静态编译sql server的...
2018-05-28 11:58:32 3028 1
原创 用visual studio code搭建一个golang环境。
习惯于使用宇宙级“下一步”式IDE的我在学习go的过程中选择了litede。但是litede新能不适合作稍大一点的项目。经网友推荐,学习了一下visual studio code。但是现有教程写的实在是... ... 教科书式的正规范实在难以消化。想来go的学习者中很多向我一样习惯靠“下一步”搭建环境,也从来没有科学上网过的同学。如果你有缘看了我的帖子,希望你能少些疑惑。一:准备工作安装go配置g...
2018-03-08 15:39:05 1683
原创 c/c++码农对go中包的错误理解
用现有的姿势去解锁新姿势的过程中会有写先入为主的错误,在解锁新姿势的过程中造成写麻烦。最为一个自学go的c/c++码农,在简单扫过包这一概念时,直接把包理解成了.h文件。忽略了包的本质。由于go的数据定义方式,导致我花了两天时间也没有找到相当于“”命名空间“或者”static的全局变量“的功能,进而让我的程序不仅全局变量满天飞,而且功能模块的封装太差。直到需要单例的时候,差点放弃。最后发现这些
2017-07-25 10:09:17 572
原创 做一个gogoboy
最近开始学习go。之前虽然vb,js,dephi什么的都用过,但是真正敢说稍微深入的还是c/c++,接触了go后,发现了一种完全不同的编程模式。想当年c++写的服务反人类的满屏异步真是折腾人。最近准备用go重写一遍。当然选择go还有很不严肃的理由。golang,够浪。成为一个gogoboy也是我十年前的幻想。现在我可以曲线实现了。虽然年纪已经算gogouncle,但是宝宝有年轻的心啊。现在
2017-07-19 10:47:52 4311
原创 在systemWorkBench中使用st-link调试程序
第一次使用systemWorkBench和st-link。安装编译过程很顺利。傻瓜是操作到调试出现如下错误:Info : device id = 0x100f6413Info : flash size = 512kbytesInfo : Unable to match requested speed 2000 kHz, using 1800 kHzInfo : Unable t
2017-03-22 16:44:17 4252
原创 对象自己的集合
#ifndef GATHER_H#define GATHER_H#include #include templateclass Gather{public: static QList& findAll() { return objects_; }protected: Gather() { objects_.append((T*)this); } ~Ga
2016-11-11 09:44:30 378
原创 不占用windows用户对象的定时器
QEventDispatcherWin32::registerTimer: Failed to create a timer (当前程序已使用了 Window 管理器对象的系统允许的所有句柄。并不是句柄达到了上限,而是用户对象数量达到了上限.windows每个进程最多只能创建10000个用户对象.每个活动的QTimer要使用一个windows的timer(用户对象).当进程管理的对象需要大量定时器(超过10000 - 其他地方使用的用户对象数量)时,就会出现上述错误.
2016-11-11 09:39:27 3562 1
原创 Qt程序运行一段时间后,QTimer无法使用。
最近一个运行了很久的Qt项目突然开始出现问题。跟踪了好久发现Qtimer的remainingTime一直都是0。不会减到-1,也不会促发timeout信号。最后研究一下发现QTimer使用windows句柄。QTimer::signalShot()这个静态函数会创建一个QTimer。而且创建者析构了,如果这个timer不停止,不会析构。也不会释放windows句柄。这样程序运行久了或者对象
2016-09-24 10:59:14 6200 9
原创 对象之间的关系
一说到UML,很多人都想到的是类图.说到关系,也都是谈类之间的关系.在编程过程中,发现类之间的关系和对象之间的关系并不是一一对应的.比如苹果继承了水果,他们之间是泛化关系.但是在对象中,水果就是水果,苹果就是苹果.对象关系中,不存在泛化.没有明确的关系,对数据(对象)的管理会产生混乱.所以今天总结了一下我遇到的对象之间的关系:对相见的关系相对类来说,简单清晰:关联,依赖,共生.
2016-01-29 15:14:33 509
原创 Qt中findChildren返回值不对
今天在调试程序中发现findChildren函数返回值和模版参数不匹配.函数调用的本身和库都没有错误.最后发现是我在继承了QObject的过程中没有使用Q_OBJECT宏.使用了该宏.Qt的元对象编译器才会初始化类的className.findChildren是通过className来便利到需要返回的内容.QObject和QWidget类提供的很多函数都需要元对象编译器提供
2016-01-25 16:39:47 1535
原创 带记忆功能的QSqlitter
Qt的窗口大部分使用不同的布局就可以解决问题.有些特殊的场合需要QSqlitter来分割窗口.通常QSqlitter动态划分的窗口是需要保存的.以免使用者每次打开软件都需要重新调整窗口分割.本计划将QSqlitter提升为一个能够自动保存的类.可是调试中发现在窗口cpp中的代码可以保存.提升为类后,无法保存了.研究了一下才发现,Qt的ui提升类是在ui.setup中完成的.所以提升类中次修改的
2015-12-28 09:49:47 604
原创 c++管理对象之间动态的多重连接
接触c++一年了.进入了一个无论如何写代码都觉得不够优雅的阶段.最近研究了一下UML帮助自己为稍微复杂些的需求建模.UML中用的最多的怕是关联关系了.复杂的模型中,很有可能动态产生和删除对象,对象之间动态的产生/删除多重关联关系.例如教务管理软件.需要管理课程,学生,社团.课程,社团和学生之间的关系都是多对多的动态关联.那么使用什么方法能方便快捷的管理这些动态的对象?比如不
2015-12-10 14:58:03 571
原创 QMYSQL driver not loaded 的原理和解决办法
很多年的帖子了,为了方便大家做些补充1:Qt的源码在安装包.2:mysql的dll文件在mysql的安装目录中.3:限于时效,我给的链接只是Qt5.2的.其他版本可以在csdn搜.4:不同版本的源码,编译器都不同,我只是提供这类问题的结局思路.并不是想提供机械的步骤.________________________________________________________...
2015-11-18 08:53:10 56589 53
原创 Qt的model中一裤衩函数的总结
最近要用Qt做一个MVC的项目。一打开model,我擦晕了。满眼的函数,完全不知道怎么用。和以往猜一猜加随便看两眼文档就开始大刀阔斧的使用Qt不同。啃了两天,终于肯掉了肉,肯出了骨头。闲话少说,毕竟上班时间写博客也是划水的一种。
2015-06-09 09:10:43 847
原创 QMap QHash的选择
QMap QHash有近乎相同的功能。很多资料里面介绍过他们之间的却别了。但是都没有说明在使用中如何选择他们。实际上他们除了存储顺序的差别外,只有key操作的区别。哈希算法是将包含较多信息的“key”转换成包含信息较少的“key的key”。通过“key的key”查找key,在通过key找到value。所以选择上应该考虑如下几点1:对于例如QString这种复杂的比较,哈希算法比ma
2014-03-21 16:51:35 1016
原创 keil c51中的data idata xdata code详解
51单片机采用哈佛结构。内存空间编址有重叠。可以在不同总线(本文称其为总线域,简称域)上定义不同的变量。在keilc51中定义了data idata xdata code几种域修饰符。这些修饰符决定了变量访问方式。data:用mov直接访问的内部RAMidata:用mov @间接访问的内部RAMxdata:用movx访问的外部RAMcode:用movc访问的rom这些假定以上以
2014-01-11 11:26:19 11376
MLX90640 32x24 红外矩阵数据手册(中文肉翻).docx
2019-08-26
Qt写的谷歌地图示例
2013-12-25
qtTCP多线程服务的例子
2013-03-09
QUdpSocket的writeDatagram函数阻塞
2016-07-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人