自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

翻译 Golang教程:(二十二)信道

原文:https://golangbot.com/channels/欢迎来到Golang系列教程的第二十二篇。在上一篇教程中,我们讨论了如何使用协程实现并发。在这篇教程中,我们将讨论信道以及如何使用信道实现协程间通信。什么是信道信道(Channel)可以被认为是协程之间通信的管道。与水流从管道的一端流向另一端一样,数据可以从信道的一端发送并在另一端接收。声明信道每个

2017-07-27 09:44:39 6204 7

原创 C++ 通过 JNI 调用 Java 代码

简介JNI 是 Java Native Interface 的缩写,它提供了若干的API实现了 Java 和其他语言(主要是 C&C++)的通信。本篇主要介绍通过 C++ 调用 Java 代码的一般方法。本例的开发环境为:WIN10 + VS2015 + JDK1.8.0_131首先我们需要建立一个 Java 项目,为了简单起见,这里没有用到 IDE 。建立 Java 项目建立如下的目录结构:JIN

2017-07-22 15:23:54 9722 5

原创 POCO: 日志的使用

入门#include "Poco/Logger.h"#include "Poco/AutoPtr.h"#include "Poco/ConsoleChannel.h"int main(){ /* 1.获取 root logger */ auto &logger = Poco::Logger::root(); /* 2.设置管道 */ Poco::Au

2017-07-21 13:55:01 3068

原创 VS2015 编译和使用 gRPC

说明本例的环境为:WIN10 + VS2015 gRPC 的版本为: 1.4.2 protobuf 的版本为: 3.3.2准备工作本例使用 VS2015 进行编译,其他版本的 VS 没有试过,不过大致步骤应该差不多。确保环境变量 PATH 包含 git.exe 所在目录,因为我们要通过 git 下载 gRPC 源码。下载并安装 Active State Perl。本例下载的是64:Acti

2017-07-20 16:33:59 3783 2

翻译 Golang教程:(二十一)协程

原文:https://golangbot.com/goroutines/在上一篇教程中,我们讨论了并发,以及并发和并行的区别。在这篇教程中我们将讨论在Go中如何通过Go协程实现并发。什么是协程Go协程(Goroutine)是与其他函数或方法同时运行的函数或方法。可以认为Go协程是轻量级的线程。与创建线程相比,创建Go协程的成本很小。因此在Go中同时运行上千个协程是很常见的。

2017-07-18 06:46:47 14572

翻译 Golang教程:(十九)接口 - II

原文:https://golangbot.com/interfaces-part-2/欢迎来到Golang系列教程的第十九篇。这是介绍接口的第二篇。如果你还没有阅读第一篇,可以在这里阅读。用指针接收者实现接口在 接口 - I 中所有例子都是以值为接收者。也可以使用指针接收者来实现接口。让我们通过一个程序看看这是如何做到的。package mainimport "fmt"

2017-07-17 08:11:17 2688

翻译 Golang教程:(十八)接口 - I

原文:https://golangbot.com/interfaces-part-1/欢迎来到Golang系列教程的第十八篇。这个接口的第一部分,一共有两部分。什么是接口在面向对象语言中,接口一般被定义为 :接口定义了一个对象的行为。它仅仅指定了一个对象应该做什么。具体怎么做(实现细节)是由对象决定的。在 Go 中,一个接口定义为若干方法的签名。当一个类型定义了所有接口里的方法

2017-07-17 08:10:46 3579

翻译 Golang教程:(十七)方法

原文:https://golangbot.com/methods/欢迎来到Golang系列教程的第十七篇。什么是方法一个方法只是一个函数,它有一个特殊的接收者(receiver)类型,该接收者放在 func 关键字和函数名之间。接收者可以是结构体类型或非结构体类型。可以在方法内部访问接收者。通过下面的语法创建一个方法:func (t Type) methodName(par

2017-07-17 08:09:57 3218

翻译 Golang教程:(十六)结构体

原文:https://golangbot.com/structs/欢迎来到Golang系列教程的第十六篇。什么是结构体结构体(struct)是用户自定义的类型,它代表若干字段的集合。有些时候将多个数据看做一个整体要比单独使用这些数据更有意义,这种情况下就适合使用结构体。比如将一个员工的 firstName, lastName 和 age 三个属性打包在一起成为一个 employ

2017-07-17 08:09:17 4300

翻译 Golang教程:(十五)指针

原文:https://golangbot.com/pointers/这是本Golang系列教程的第十五篇。什么是指针指针是存储一个变量的内存地址的变量。 在上图中,变量 b 的值是 156,存储在地址为 0x1040a124 的内存中。变量 a 存储了变量 b 的地址。现在可以说 a 指向 b。指针的声明指向类型 T 的指针用 *T 表示。让我们写一些代码

2017-07-17 08:08:35 19175

翻译 Golang教程:(十四)字符串

原文:https://golangbot.com/strings/这是本Golang系列教程的第十四篇。string 类型单独提取为一篇教程是因为在 Go 中,string 的实现方式同其他语言的不同。什么是字符串在 Go 中字符串是 byte 数组。可以通过将内容放在双引号 "" 之间的方式来创建一个字符串。让我们看一个简单的例子,该例子创建并打印一个字符串:packag

2017-07-16 08:04:49 3592

翻译 Golang教程:(十三)Map

原文:https://golangbot.com/maps/这是本Golang系列教程的第十三篇。什么是 map?Map 是 Go 中的内置类型,它将键与值绑定到一起。可以通过键获取相应的值。如何创建 map?可以通过将键和值得类型传递给内置函数 make 来创建一个 map。语法为:make(map[KeyType]ValueType)。例如:personSalary

2017-07-16 08:04:05 17516

翻译 Golang教程:(十二)变参函数

原文:https://golangbot.com/variadic-functions/这是本Golang系列教程的第十二篇。什么是变参函数?变参函数是指可以接受可变数量的参数的函数。语法如果一个函数的最后一个参数由 ...T 表示,则该函数可以接受任意数量的类型为 T 的参数。请注意只有函数的最后一个参数才能指定为可变参数。例子你有没有想过为什么 appe

2017-07-16 08:03:14 4650 2

翻译 Golang教程:(十一)数组和切片

原文:https://golangbot.com/arrays-and-slices/这是本Golang系列教程的第十一篇。数组数组是属于同一类型的元素的集合。例如,整数 5, 8, 9, 79, 76 的集合就构成了一个数组。Go不允许在数组中混合使用不同类型的元素(比如整数和字符串)。声明数组的类型为 n[T],其中 n 表示数组中元素的个数,T 表示数组中元素的类型。

2017-07-16 08:02:21 14503

翻译 Golang教程:(十)switch 语句

原文:https://golangbot.com/switch/这是本Golang系列教程的第十篇。switch 是一个条件语句,用于将一个表达式的求值结果与可能的值的列表进行匹配,并根据匹配结果执行相应的代码。可以认为 switch 语句是编写多个 if-else 子句的惯用方式。举例是说明问题最好的方式,让我们写一个简单的程序,输入手指编号,输出对应的手指名称:)。例如 0 表示拇

2017-07-16 08:01:27 52619 3

翻译 Golang教程:(九)循环语句

原文:https://golangbot.com/loops/这是本Golang系列教程的第九篇。循环语句用于重复执行代码块。for 语句是 Go 中唯一的循环语句。Go 没有提供其他语言(如 C)中的 while 和 do while 循环语句。for 语句语法for initialisation; condition; post { }初始化语句 initialis

2017-07-15 08:34:36 20617 2

翻译 Golang教程:(八)if else 语句

原文:https://golangbot.com/if-statement/这是本Golang系列教程的第八篇。if 是一个条件语句。if 语句的语法为:if condition { }如果 condition 为 true,那么就执行 { 和 } 之间的代码。与其它语言(如C)不同,即使 {} 之间只有一条语句,{} 也是必需的。if 语句后面可以接可选的 els

2017-07-15 08:33:58 3709

翻译 Golang教程:(七)包

原文:https://golangbot.com/packages/这是本Golang系列教程的第七篇。什么是包?为什么使用包?到目前为止我们见到的 Go 程序都只有一个文件,文件中包含了一个main函数和几个其他函数。在实际中这种将所有代码都放在一个文件里的组织方式是不可行的。这样的组织方式使得代码变得无法重用和维护困难。包(package)使这种情况转危为安。包用于组织Go源代

2017-07-15 08:33:07 4949

翻译 Golang教程:(六)函数

原文:https://golangbot.com/functions/这是本Golang系列教程的第六篇。函数是完成一个特定任务的代码块。一个函数接受输入,对输入进行一些运算并产生输出。函数声明在 Go 中声明一个函数的语法为:func functionname(parametername type) returntype { //function body}函

2017-07-15 08:32:08 3192

翻译 Golang教程:(五)常量

原文:https://golangbot.com/constants/这是本Golang系列教程的第五篇。定义常量在Go中常量(constant)用来表示固定的值,比如:5,-89,"I love Go",67.89 等等。考虑如下程序:var a int = 50 var b string = "I love Go"上面的程序中, a 和 b 分别被赋值为常量

2017-07-15 08:31:27 5307

翻译 Golang教程:(四)类型

原文:https://golangbot.com/types/这是本Golang系列教程的第四篇。你可以阅读 Golang教程:(三)变量 来学习有关变量的只是。下面是 Go 支持的基本类型:boolNumeric Types int8, int16, int32, int64, intuint8,uint16,uin32,uint64, uintfloat32, fl

2017-07-14 15:18:58 4912

翻译 Golang教程:(三)变量

原文:https://golangbot.com/variables/这是本Golang系列教程的第三篇。本篇介绍Golang中的变量。你可以阅读 [Golang教程:(二)Hello World](http://blog.csdn.net/u011304970/article/details/74783686) 来学习如何建立 Go 工作空间以及编写和运行 hello world 程序。#什么是变量

2017-07-14 15:16:03 4298 1

翻译 Golang教程:(二)Hello World

原文:https://golangbot.com/hello-world/这是本Golang系列教程的第二篇。请阅读 [Golang教程:(一)介绍和安装](http://blog.csdn.net/u011304970/article/details/74783552) 来了解什么是Golang以及如何安装它。除了亲自写代码以外没有更好的方式来学习一门新的编程语言。在这篇教程中我们将开始编写我们的第一个程序

2017-07-14 15:09:44 5088

翻译 Golang教程:(一)介绍和安装

原文:https://golangbot.com/golang-tutorial-part-1-introduction-and-installation/这是本Golang系列教程的第一篇。什么是GolangGolang 又称为 Go,是由 Google 开发的一种开源的、编译型的、静态类型的编程语言。Golang 的主要目的是使开发高可用性和高扩展性的Web应用程序变得简单。为什么选择Golan

2017-07-14 14:09:43 5568

翻译 Golang教程目录

Golang系列教程目录

2017-07-14 13:58:36 6122

翻译 Golang教程:(二十)并发介绍

原文:https://golangbot.com/concurrency/欢迎来到Golang系列教程的第二十篇。Go是并发语言,而不是并行语言。在讨论Go并发性之前,我们必须首先了解什么是并发,以及并发与并行的区别。什么是并发并发(concurrency)是指一次处理大量事情的能力。让我们用一个例子来说明。假设一个人喜欢慢跑。在早上的慢跑中,他的鞋带开了。现在他停下来系鞋带,

2017-07-14 08:21:31 4325

原创 Go批量修改文件名

工作中遇到了批量修改文件名的情况,为此写了个小程序,以供日后方便。代码如下:package mainimport ( "flag" "fmt" "os" "path/filepath")func main() { // 解析命令行参数 var dir string flag.StringVar(&dir, "d", "", "director

2017-07-07 09:37:08 2949

原创 FreeSWITCH 视频会议常用命令

列出所有会议conference list列出会议的所有参与人conference [conference-id] list列出会议所有可用布局conference [conference-id] vid-layout list改变画面布局conference [conference-id] vid-layout [layout-name]更改角色在布局中的位置conference [confere

2017-07-05 14:43:15 2354

原创 Jenkins 搭建C++持续集成环境

简介本文主要介绍如何通过 Jenkins 搭建 C++的持续集成环境。最后达到的效果是每天00:00 - 08:00之间构建、测试和打包一次工程。开发环境为 VS2015,测试工具为 CppUnit,打包工具为 Inno Setup。本例的 Jenkins 版本为 Jenkins2.60.1建立工程新建空白解决方案,命名为 Calculator。勾选 [新建 GIT 存储库]。建立开发项目新建控制台

2017-07-04 09:33:39 27541 1

原创 CppUnit 入门

CppUnit 是一个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming)。主要功能就是对单元测试进行管理,并可进行自动化测试。本文主要介绍如何利用 CppUnit 进行单元测试。

2017-07-01 09:35:38 5286 2

Cef3博文配套源代码

Cef3博文的配套源代码,注意其中没有放 Cef3 库的资源(因为太大了...)。建议配合博文一起查看。博文地址:http://blog.csdn.net/u011304970/article/details/77592775

2017-12-28

CppUnit入门代码

CppUnit 入门的代码,仅供参考。编译时请指定编译版本为 Debug|x86

2017-07-01

C++实现Office插件

纯C++实现Office插件

2017-06-08

udns-0.0.9-win32.zip

udns的VS2015工程

2017-02-17

空空如也

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

TA关注的人

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