自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进击的小学生

To be or not to be, this is a question.

  • 博客(27)
  • 资源 (10)
  • 收藏
  • 关注

原创 0- Golang 修炼指南

本系列是我的学习笔记,希望大家一起学习,一起进步。如果有错误的地方,及时评论 ^_^. 也可以加群讨论:610441700贡献者:@JovanyWong一、快速入门001 安装 go & 你好,世界 002 go 项目结构 003 渐入渐佳 go 程序 004 统计(一) 005 统计(二) 006 统计(三) 007 绘制三角函数图像(一) 008 绘制三角...

2018-02-08 10:05:06 3217 4

原创 025-整数和浮点数

本文程序路径是 gopl/basictypes/number.1. 整数类型和浮点数类型1.1 整数类型go 语言和 c 语言非常像,整数也分为有符号和无符号。在 go 语言里,整数在内存占用的宽度有 8bit, 16bit, 32bit, 64bit 这四种。有符号是 int8, int16, int32, int64,而无符号是 uint8, uint16, uint32,...

2018-02-28 23:20:11 684

原创 024-go 数据类型介绍

1. 数据类型在我们的世界,充满了形形色色的人、事和物。要想在计算机中描述这个多彩的世界,太复杂了。比如照片,是如何呈现在你的电脑屏幕上的?你现在正在看的这篇博客,又是如何呈现在电脑屏幕上的?这一切都很神奇,不是吗?所以有一切,都是通过执行计算机程序,将 0 和 1 这样的 2 进制数字,进行一定的运算,再解释成照片,解释成一篇博客,解释成你所看到的一切。在过去还没有高级语言的时候...

2018-02-25 20:05:41 363

原创 023-作用域(Scope)与生命期(Lifetime)

作用域和生命期的概念可以借鉴 C 语言,但还有一些不太一样的地方,需要单独解释。1. 作用域与生命期任何一门高级计算机语言都有作用域的概念,go 也不例外。说到作用域,必然也会想到生命期。有些同学可能会把作用域和生命期划上了等号,比如在 c 语言里,在函数中声明了局部变量 int x,这个 x 的作用域就在函数体内,一旦执行完此函数,x 也就销毁了。实际上,作用域和生命期有着本...

2018-02-25 00:11:05 1409

原创 022-包初始化

在 《go 项目结构》 一文我们就已经学会了如何声明一个包了。现在我们再加一点新的知识——包初始化。1. init 函数go 程序可以在导入包时执行包初始化函数。这个函数名为 init,格式如下:func init() { /*...*/}没有参数表,没有返回值。当一个包被导入时,此函数被会自动执行,而且只会执行一次。哪怕你的包在很多地方被导入,初始化也只进行一次...

2018-02-24 20:17:45 564

原创 021-类型(Type),类型转换和测试

go 是强类型的语言。从一开始我们就知道 go 中定义变量是需要指定其类型的,就算是自动推导,那也是需要有类型的,只不过编译器帮你分析了其类型而已。类型的作用是为了描述 object 相关的特性。比如它规定了 object 占用几个字节,在内存中是怎样的结构,是否支持一些操作符。比如 go 的内置类型 int32,它表示整数,在内存中占用 4 个字节(32bit),它支持 +, -, ...

2018-02-23 21:35:05 743 2

原创 020-赋值(Assignment)

同其它语言一样,go 的赋值运算符也是 =,不过 go 的 = 更加强大,它支持元组赋值(Tuple Assignment),有人称其为平行赋值。同样在 go 里,要求 = 左侧的变量类型和右侧值的类型匹配,否则会编译不通过。1. 赋值举几个例子:var x int = 10var y int = 10x++ // oky ...

2018-02-20 16:25:37 966 1

原创 019-参数解析

有了理论就要有实践,连续两篇的理论相信你也不耐烦了,本文我们需要借助 go 的 flag 包进行参数解析。写过 c++ 的朋友可能用过 gflags 库,这是 google 开源的一个参数解析工具库,在各大公司都被广泛应用。如果你没用过也没关系,相信学过 go 的你,以后上手 gflags 也是 0 压力。1. 目标先来看一下程序运行的结果: 图1 go flag fl...

2018-02-19 17:24:01 670

原创 018-变量,值和指针

本来这一篇的标题就是指针。但是我发现有些同学对有些概念比较模糊(虽然不影响你编程),所以还是决定来讲讲。我默认你学过 c 语言的指针的概念。因此我不会讲解过多的指针的概念。另外,在 go 里关于指针取址(&)和解引用(*) 操作,和 c 语言是一样的,不再重复说明。本节的目的是澄清一些概念。如果你学的不错,完全可以跳过~~~(希望你不会错过什么。)1. 变量和 object...

2018-02-16 22:03:35 428 1

原创 017-变量和零值

1. 变量1.1 var 声明在 go 中,声明变量的关键字是 var,它的作用是创建一个特定类型的变量。使用方法:var name type = expression例如:var name string = "Allen"上面表示创建了一个类型为 string 的变量。go 语言声明变量和 c/c++ 是反着来的,从 c 系风格切换过来的同学可能会有点不习惯。...

2018-02-16 20:29:17 502 2

原创 016-Go 程序结构

欢迎进入新的章节!为了能够深入 go 语言的各个细节,我们需要掌握一些基本概念和 go 的相关术语。本文程序路径是 gopl/programstructure/decltest 和 gopl/programstructure/declarations。运行方法:$ cd gopl/programstructure/decltest$ go run main.go1. go...

2018-02-14 15:10:27 417

原创 015-lissajous server

这是本章的最后一篇,如果你还不会绘制 lissajous 图像,请回去复习,因为本篇我们需要使用浏览器来访问我们我们的 http server,并在浏览器中显示 lissajous 的动态曲线。像下面这样: 图1 访问 lissajous 服务器 1. 程序package mainimport ( "fmt" "image" "image/color...

2018-02-13 19:13:34 344

原创 014-HttpServer

这是『快速入门』一章最后一个话题,很快我们就能完成第一个章节,正式打开 Go 语言的大门,怎么样?等不及了吧,那就开始吧。1. 目标前面我们使用了 http 包的 Get 函数,它相当于是 http 的客户端。现在我们需要一个 http 服务器。我们的目标是在端口 8001 上启动一个服务器,使用浏览器访问此服务器后网页上显示 “Hello, world!”. 图1 使用浏览...

2018-02-13 16:51:51 483

原创 013-HTTP(二)

1. 目标接下来,再回顾一下《011-HTTP(一)》,我们使用 go 的 http 包的 GET 函数从某个 url 获取网页。现在需要增强一下这个程序,需要获取多个 url 资源。获取资源不是本意,借机巩固 goroutine 和 chan 才是本篇的目标。先来看一下程序的运行效果。 图1 程序运行结果 不同于 fetch 程序,这里并没有把网页的内容打印到屏幕,只是打...

2018-02-13 16:01:00 522

原创 012-goroutine 和 chan

goroutine(有人翻译为 go 程),它是 go 运行时管理的轻量级线程。chan 是 go 提供的一种非常特殊而且牛 B 的数据结构,它有点像线程安全的阻塞队列。1. goroutinegoroutine 是在用户空间实现的线程,有人称之它为协程(不过 go 的 goroutine 更加的灵活)。如果你对协程的原理和实现感兴趣,请参考这个系列的专题《实现多线程切换和调度实验介绍...

2018-02-11 23:26:26 645

原创 011-HTTP(一)

本文我们使用 Go 提供的 net 包完成 HTTP 请求。HTTP 是一个应用非常广泛的协议,如果你不太了解它也不要紧,看完这一篇文章你会觉得它太简单了。1. 目标我们目标是使用 go 语言提供的 net/http 包从将网页资源获取到本地。只要提供一个 url 地址,go 就可以将网页内容获取过来。2. net/http 包http 包提供了 http 客户端和服务端所有的...

2018-02-11 20:48:02 521

原创 010-lissajous(二)

lissajous 曲线随着参数的不同,曲线的形状也会随之改变。如果每次修改一下参数再生成一张图片,未免也太麻烦了。这一次,我们希望生成一个动态图(GIF,Graphics Interchange Format).前面我已经学会了将 in-memory 图像编码成某种格式(png, jpeg)的方法,如果要将 in-memory 编码成 gif,那就使用 gif 编码器就好了。同样的,gif ...

2018-02-11 12:07:32 488

原创 009-lissajous(一)

本节我们使用前面学过的 image 包来绘制 lissajous 曲线。1. lissajous 曲线数学上,利萨茹(Lissajous)曲线(又称利萨茹图形、李萨如图形或鲍迪奇(Bowditch)曲线)是两个沿着互相垂直方向的正弦振动的合成的轨迹。 图1 lissajous 曲线 1.1 数学定义利萨茹曲线由以下参数方程定义:{x(θ)=asin(θ)...

2018-02-11 00:11:24 3709

原创 008-绘制三角函数图像(二)

本文我们再介绍一种 in-memory image 的类型,叫 Paletted,然后再使用这种类型的 in-memory 来绘制三角函数图像。1. Paletted定义如下: 图1 Paletted 类型 Paletted 的中文含义是调色板,相信大家都见过。 图2 调色板 调色板上放有很多种不同颜色的颜料,这都是事先调好的,然后放在板子上面。在 go...

2018-02-10 16:08:17 899

原创 007-绘制三角函数图像(一)

本篇需要带你复习一下三角函数知识。不用太多,只要你知道 y=sin(x)y=sin(x)y=sin(x) 是什么样子就行了。什么?忘记长啥样了?看下面。 图1 y=sin(x)y=sin(x)y=sin(x) 图像 我们的目标是,使用 go 语言生成一幅 y=sin(x)y=sin(x)y=sin(x) 的曲线图像出来, jpeg 或者 png 随便你。下面是使用 go 生成图像...

2018-02-10 00:34:26 6821 1

原创 006-统计(三)

想吐槽了吗?是不是和统计杠上了啊?不是不是,这一节我们要学习一个新的包,以及另一个新的函数。先来说说要干啥。之前我们从命令行接收文件名后,把文件打开后,直接丢给了 stat 函数去处理,这种方式是以流式来处理文件内容的。其实我们还有一种方法,我们可以一次性将文件内容全部读出来,然后再将读出来的数据按 \n 进行分割。在 linux 系统接口中,提供了 c 语言接口 open, read 函...

2018-02-08 23:17:25 411 6

原创 005-统计(二)

怎么样,上一节的程序还不够过瘾?for 循环,if 条件,相信你应该非常熟练了,只是偶尔在短变量声明上把 i := 5 写成了 i = 5?又或者在声明变量的时候把 var s string 写成了 string s?还是一不小心把 for i := 0; i < 10; i++ 写成了 for (i = 0; i < 10; i++)?不要担心,这些错误我也常犯,只要多写,一...

2018-02-08 13:42:39 407

原创 004-统计(一)

这一节目标是完成统计相同行出现的次数。题目来源于 gopl 一书。举个例子,下面一段文本:// input 文件helloJackAllenhelloAllenAllen最终我们的程序应该能统计出 hello 出现 2 次,Jack 出现 1 次,Allen 出现 3 次。为了统一输出的格式,希望得到下面的结果:2 hello1 Jack3 Allen即...

2018-02-07 00:18:56 574

原创 003-渐入渐佳 go 程序

1. 快速开始目录结构 图1 程序目录结构 程序源码// main.gopackage main // 包名import ( "fmt" // 导入 fmt 包 "os" // 导入 os 包)func main() { var s, sep string // 声明两个 string 类型的变量

2018-02-05 23:24:34 506

原创 002-go 项目结构

本节告诉你如何使用 go 来写一个计算类的库,这个库包含了 2 个函数,一个计算 2 数之和,另一个计算两数之差,并且掌握 go 的项目结构。1. 目录与文件创建文件夹在 tutorial 文件夹下面创建一个文件夹 package,还有子文件夹 calc, testcalc,如图 1.$ mkdir package$ cd package$ mkdir calc t

2018-02-04 22:13:19 1158

原创 001-安装 go & 你好,世界

1. 安装 go安装非常简单,当然你也可以下载 go 的编译工具,然后配置环境变量什么的。不过我们的目的不是为了学习怎么安装,而是学习这门语言。Mac: brew install goCentOS: sudo yum install go 图1 安装 go 工具包 2. 创建文件夹这些文件夹先创建了再后,后面会用到,用到的时候再说。(什么?环境变量?我不懂!以

2018-02-04 18:55:24 1050

原创 115-并发的 UDP 服务器

TCP 服务并发对我们来说已经不陌生了,你有各种手段处理,比如多进程,多线程,IO 复用 + 单/多线程。但是 UDP 处理并发,如果不仔细思考一下,可能你会觉得这没什么嘛,还不是和 TCP 差不多。1. TCP & UDP 多进程并发这里以多进程 TCP 服务器并发作为参照,看看和 UDP 的区别在哪里。tcp如果你不记得多进程并发模型,还请回去再复习一下《并发服务器(多

2018-02-04 13:11:45 2308 5

EasyDraw 3.0(事故树绘制)

EasyDraw 事故树软件,3.0 版本,完全免费。排版更加精致,支持生成 svg 矢量图,png/jpeg 图形。

2018-11-02

GCC 内联汇编

gcc 内联汇编 1 AT&T 与 INTEL 的汇编语言语法的区别 1.1 大小写 1.2 操作数赋值方向 1.3 前缀 1.4 间接寻址语法 1.5 后缀 1.6 指令 2 GCC 内嵌汇编 2.1 简介 2.2 内嵌汇编举例 2.3 语法 2.3.1 汇编语句模板 2.3.2 输出部分 2.3.3 输入部分 2.3.4 限制字符 2.3.5 破坏描述部分 2.4GCC 如何编译内嵌汇编代码

2018-10-28

k近邻_kd-tree_kd树_vs2008_C++代码

vs2008写的Kd树泛型算法,支持k近邻查询。

2014-12-15

梯度下降法VS2008_C++

梯度下降法完整的VS2008代码。博客地址:http://blog.csdn.net/q1007729991/article/details/40382071

2014-10-23

事故树绘制软件easydraw免费V2.19

免费版本的事故软件,实现所有计算功能,节点自动调整,建树判错等功能!支持导出图片。

2013-12-13

增强版事故树绘制与分析程序

1.完善建立事故树的过程 2.事故树节点自动排列,免去手工排列节点的烦恼 3.编号自动生成,免去手工编号的繁琐 4.自动检测是否有闭环回路,防止用户建立逻辑上错误的事故树 5.自动检测用户是否在一个事件下重复添加 6.相同事件下建立节点,会进行同步复制,提高建树效率 7.相同事件下删除节点,会进行同步删除 8.手工拖动节点时自动对齐 9.修改节点信息,所有相同节点进行同步修改 10.画布大小自定义 11.画布颜色,事件框颜色,门颜色,文字颜色可以自定义 12.完美的一键保存bmp图片功能 13.编码树与文字树一键切换 14.列出事件清单,方便用户一次性输入事件概率 15.完善顶上事件概率计算,提供最小割集逼近法,无重复基本事件计算法,首项近似法,以及事件状态组合法。 16.优化最小割集、径集算法,提高计算速度 17.结构重要度删除不必要的状态组合法,仅提供公式三计算结果 18.提高了概率重要度、关键重要度的计算精度

2013-04-19

事故树绘制分析软件

简单易用,功能其全的一个事故树绘制分析软件,用以计算最小割集,最小径集,顶上事件概率,概率重要度,结构重要度,临界重要度,计算方法可选。 计算的结果可以保存到本地txt文本文件,方便您复制到您需要的地方,给您的论文写作也会带来极大方便。概率计算提供一套精确算法,可以根据您所提供的数据计算出精确结果。当然您也可以选择近似算法,本软件提供首项近似法和平均近似法的计算结果,给您多种选则。软件非常简单易用,自己几分钟就可以学会,谢谢您的使用!

2012-12-17

MFC 音乐播放器

基本上实现了常用的播放功能,可以自动下一首,通过音量条控制音量,实现时间进度栏,实现将添加到列表的歌曲文件列表存储到本地,下次启动的时候依然还在,更多功能等待你的发觉,不要说分高,学习才是王道,尊重作者的劳动成果,花了两天时间写的。

2012-12-12

汇编_单片机_matlab_Multisim等

注意:此为TXT文档,里面都有下载地址,你所要下载的东东都在我的u115网盘里! 静态反汇编工具W32Dasm.rar 51单片机种子全.rar win7系统工具.rar matlab详细教程.rar Multisim教程.exe 中国象棋经典残局《适情雅趣》_0.1.exe UltraEdit-32_V16.20.0.1009_汉化版(30天免费使用).exe 精美PPT模板_2009.11.30.zip VC6.0简体中文企业版.rar

2010-11-24

空空如也

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

TA关注的人

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