自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MFC非模态窗口销毁

MFC动态创建的窗口销毁办法首先需要消息OnClose(){CDialogEx::OnClose();}然后重写虚函数PostNcDestroy(){delete this;}最后OnClose(){CDialogEx::OnClose();PostNcDestroy();}

2021-01-05 11:48:16 349

原创 Go学习Day13

并发编程1.Go并发原语协程Goroutines每个go程序至少都有一个Goroutine:主Goroutine(在运行进程时自动创建)。以及程序中其他Goroutine 例如:下面程序创建了main的Goroutine及匿名的Goroutine。func main() { go func() { fmt.Println("you forgot me !") }()}在go中有个package是sync,里面包含了:WaitGroup、Mutex、Cond、Once、Pool。1.

2020-12-25 14:34:39 94

原创 Go学习Day12

单元测试1.要点第一:单元测试的时候,如果有一些打印log信息,我们运行xxx_test.go是输出不出来的,此时需要使用:go test xxx_test.go -v使用-v参数可以帮助解决此问题。第二:单测覆盖率,覆盖率可以简单理解为进行单元测试mock的时候,能够覆盖的代码行数占总代码行数的比率,当然是高一点要好些。可以通过-cover指定 go test xxx_test -v -cover2.基准测试基准测试函数名字必须以Benchmark开头,代码在xxx_test.go中。

2020-12-25 14:10:30 77

原创 Go学习Day11

反射机制主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型,这称为反射机制。1.反射的作用a.在编写不定传参类型函数的时候,或传入类型过多时type User struct { gorm.Model Name string Age sql.NullInt64 Birthday *time.Time Email

2020-12-24 22:15:50 62

原创 Go学习Day10

异常处理1.errorGo语言内置了一个简单的错误接口作为一种错误处理机制,接口定义如下:type error interface { Error() string}它包含一个 Error() 方法,返回值为stringGo的error构造有两种方式,分别是第一种:errors.New()第二种:fmt.Errorf()需要注意的点:a.如果函数需要处理异常,通常将error作为多值返回的最后一个值,返回的error值为nil则表示无异常,非nil则是有异常。b.一般先用if语句处

2020-12-23 20:50:45 57

原创 Go学习Day9

包管理Go语言通过包管理来封装模块和复用代码,Go Modules于Go语言1.11版本时引入,在1.12版本正式支持,是由Go语言官方提供的包管理解决方案Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性1.初始化模块Go Modules的使用方法比较灵活,在目录下包含go.mod文件即可首先通过如下命令创建一个新的Modulego mod init [module name]然后当前目录会生成go.mod文

2020-12-22 21:52:17 80

原创 Go学习Day8

1.结构体类似c语言中结构体操作结构体声明完结构体之后我们需要创建结构体的实例,可以使用如下几种方法创建,仍然以上面的Student结构体为例。s1 := new(Student) //第一种方式s2 := Student{"james", 35} //第二种方式s3 := &Student { //第三种方式 Name: "LeBron", Age: 36,}使用new函数会创建一个指向结构体类型的指针,创建过程中会自动为结构体分配内存,结构体中每个变量被赋予对应的零值。

2020-12-21 21:43:05 68 1

原创 Go学习Day7

函数1.定义定义格式如下func functionName([parameter list]) [returnTypes]{ //body}都是用func进行定义,返回值类型用returnTypes定义。functionName是函数名。返回值可以有,可以没有。2.值传递和引用类型值传递是指在函数调用过程中将实参拷贝一份到函数中,这样在函数中如果对参数进行修改,将不会影响到实参。引用传递是指在函数调用过程中将实参的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实参。

2020-12-20 20:17:06 103

原创 Go学习Day6

一、数组数组是具有相同类型且长度固定的一组连续数据。在go语言中我们可以使用如下几种方式来定义数组。//方式一var arr1 = [5]int{}//一维数组,5个内容,值为0//方式二var arr2 = [5]int{1,2,3,4,5}//一维数组,5个内容,值依次为1,2,3,4,5//方式三var arr3 = [5]int{3:10}//一维数组,5个内容,第三个值为10,其余为0可以循环操作数组。可以定义多维数组数组作为函数参数:1.传递数组的指针2.传递切片(具体

2020-12-19 20:37:33 75 2

原创 Go学习Day5

一、Go语言中的字典类型map,键值对类型。定义方式为:make(map[KeyType]ValueType, [cap]),cap为容量,非必须参数。可以动态增长。value可以为任意类型,也可以定义为interface{},可以接受任何类型。二、字符串类型字符串是一种值类型,在创建字符串之后其值是不可变的。在C语言中字符串是通过\0来标识字符串的结束,而go语言中是通过长度来标识字符串是否结束的。...

2020-12-18 20:26:32 75 1

原创 Go学习Day4

一、运算符1.与c++基本一致,包含算数运算符,关系运算符,逻辑运算符,位运算符,赋值运算符。2. 优先级5 * / % << >> & &^4 + - | ^3 == != < <= > >=2 &&1 ||二、控制语句1.switch语句switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough 。

2020-12-17 20:23:49 57

原创 Go学习Day3

一、变量1.变量声明使用var声明,类型在变量名称后。例:var a int,声明一个int型变量a,var a =50,a的类型自动推断,如果不赋初值,a默认为0。2.变量名由数字字母下划线组成,但首个字符不能为数字。3.使用:=声明时可以省略var,例a:=20。a的类型由编译器推断。4.全局变量可以只声明不使用,局部变量声明了一定要用,不然会报错。二、常量数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。const a='a',const a=50.类型由编译器自动推断

2020-12-16 21:28:18 66

原创 Go学习Day2

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、数据类型二、 关键字1.25个关键字或保留字2.36个预定义标识符前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结数据类型,关键字,标识符一、数据类型1.布尔型2.数字类型:整形和浮点型3.字符串是UTF-8表示Unicode4.复数类型:128位和64位:64位实数虚数,32位实数虚数5.整形:Uint8无符号 8 位整型 (0 到 255)Unit16,Unit32,Unit64,int8,

2020-12-15 19:40:38 75

原创 Go学习Day1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言二、语言结构1.引入库总结前言第一天的正式学习Go语言,主要了解Go语言的特性,编程规范。# 一、Go语言特性1.Go语言的语法规则严谨,没有歧义,任何人写出的代码都基本一致,这使得Go语言简单易学。放弃部分“灵活”和“自由”,换来更好的维护性。2.Go语言有指针类型,同时也有内存回收机制,指针的存在会导致内存回收困难。不过还好Go语言的指针运算是被阻止的。3.Go是编译型语言,Go 使用编译器来编译代码。要创建

2020-12-14 21:54:57 73

原创 Go学习Day0

Go学习Day0提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Go语言特性二、安装环境1.Go环境2.IDE:vscode与goland总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLow

2020-12-13 20:37:31 113

原创 MFC子线程中创建控件的方法

MFC子线程操作UI的方法文章目录前言一、子线程中如何操作UI前言工作中用到一个特殊情况,需要从INI配置文件中加载并创建471个button和static控件提示:以下是本篇文章正文内容,下面案例可供参考一、子线程中如何操作UI 本工程是多文档创建的工程,动态加载并创建471个控件所需时间用GetTickCount获取了一下,8秒多。单独加载的时间获取为6秒多,创建1秒多。 这样程序启动就很慢...于是想用线程来加载并创建。发现加载可以,但是创建控件相当于在子线程中对

2020-10-12 09:31:07 338

空空如也

空空如也

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

TA关注的人

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