自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fabio的博客

学习的一些记录,方便自己后期查索

  • 博客(11)
  • 收藏
  • 关注

原创 assert()函数用法总结

assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include <assert.h> void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序...

2018-11-12 15:06:48 175

原创 C 原地交换两个变量的值

第一种方法,大家会借助第三个变量来实现: 如:tmp=A;A=B;B=tmp; 这种方法需要借助第三变量来实现; 第二种方法是利用加减法实现两个变量的交换: 如:A=A+B;B=A-B;A=A-B; 但是 如果 A+B 超出 A的范围 ,会引起溢出。 第三种方法是得用位异或运算来实现,也是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方法: 如:A=A^B;B=A^B;A=...

2018-11-07 17:27:43 456

原创 C的数组长度

c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数) #include<stdio.h> int main(){ int a[] = {12,45,36,5,6}; int length = sizeof(a)/sizeof(a[0]); printf("%d\n",length); } length的实际上长度就是数组占内存总空间,除以单个元素占内...

2018-11-05 10:10:25 9932

转载 二十二、Go基础编程:并发编程—channel

goroutine运行在相同的地址空间,因此访问共享内存必须做好同步。goroutine 奉行通过通信来共享内存,而不是共享内存来通信。 引⽤类型 channel 是 CSP 模式的具体实现,用于多个 goroutine 通讯。其内部实现了同步,确保并发安全。   1 channel类型 和map类似,channel也一个对应make创建的底层数据结构的引用。 当我们复制一个channe...

2018-11-01 15:01:02 180

转载 Go环境搭建:windows+sublime3

Go语言环境安装 Go安装包下载网址:https://www.golangtc.com/download 有zip压缩版和msi安装版两个按本下载。(这里使用msi安装版,比较方便)。 运行msi安装文件,千万不要在安装路径中出现中文,一路Next。 由于使用msi安装文件,所以Go语言的环境变量已经自动设置好了。 打开Windows中的命令提示符(cmd.exe)执行命令: ...

2018-11-01 14:37:47 200

转载 二十二、Go基础编程:并发编程—goroutine

1 goroutine是什么 goroutine是Go并行设计的核心。goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万个并发任务。goroutine比thre...

2018-11-01 12:06:23 163

转载 二十一、Go基础编程:并发编程—概述

1 并行和并发 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。 并行是两个队列同时使用两台咖啡机 并发是两个队列交替使用一台咖啡机 2 G...

2018-11-01 11:09:17 142 1

转载 二十、Go基础编程:正则表达式

正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具。虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活。按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符组合。 Go语言通过regexp标准包为正则表达式提供了官方支持,如果你已经使用过其他编程语言提供的正则相关功能,那么你应该对Go语言版本的不会太陌生,但是它们之间也有一些小的差异,因为Go实现的是...

2018-11-01 10:53:12 191

转载 十九、Go基础编程:面向对象—匿名组合

1 匿名字段 一般情况下,定义结构体的时候是字段名与其类型一一对应,实际上Go支持只提供类型,而不写字段名的方式,也就是匿名字段,也称为嵌入字段。 当匿名字段也是一个结构体的时候,那么这个结构体所拥有的全部字段都被隐式地引入了当前定义的这个结构体。 //人 type Person struct { name string sex byte age int } /...

2018-11-01 10:44:33 148

转载 十八、Go基础编程:复合类型—结构体

1 结构体类型 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。 结构体是一种聚合的数据类型,它是由一系列具有相同类型或不同类型的数据构成的数据集合。每个数据称为结构体的成员。 2 结构体初始化 2.1 普通变量 type Student struct { id int ...

2018-11-01 10:33:57 562

转载 十七、Go基础编程:复合类型—map

1. 概述 Go语言中的map(映射、字典)是一种内置的数据结构,它是一个无序的key—value对的集合,比如以身份证号作为唯一键来标识一个人的信息。 map格式为: map[keyType]valueType 在一个map里所有的键都是唯一的,而且必须是支持==和!=操作符的类型,切片、函数以及包含切片的结构类型这些类型由于具有引用语义,不能作为映射的键,使用这些类型会造成编译...

2018-11-01 10:09:40 202

空空如也

空空如也

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

TA关注的人

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