Beego 框架入门篇:通过 Beego 提供的脚手架工具 Bee 快速创建 Web 项目

今天我要介绍的是 Beego 中的一个命令行工具:bee(类似 Laravel 框架中的 Artisan 命令,如果你使用过 Artisan 命令的话,可以很快上手),该工具主要提供了如下命令: bee new //生成一个新的beego项目 bee api //生成一个新的api项目,专门用作api接口使用 bee generate controller //生成控制器,不用自己创建...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Process\Pool 通过进程池实现数据库和 Redis 的持久连接

Swoole 进程池的简单实现 从 2.1.2 版本开始,Swoole 开始支持进程池功能,该功能基于 Server 的 Manager 模块实现,可用于管理多个工作进程。相比 Process 实现多进程,Process\Pool 更加简单,封装层次更高,开发者无需编写过多代码即可实现进程管理功能。 下面我们来看一个简单的异步进程池实现示例,通过监听 WorkerStart 事件启动 R...

Go 语言函数式编程系列教程(九) —— 数据类型篇:数组切片的创建和遍历

在前一篇教程里我们已经介绍过数组的一个特点:数组的长度在定义之后无法修改,数组长度是数组类型本身的一部分,是数组的一个内置常量,因此我们无法在数组上做动态的元素增删操作。显然这种数据结构无法完全满足开发者的日常开发需求,尤其是从 PHP 转过来的开发人员(PHP 的数组非常灵活和强大),为此,Go 语言提供了数组切片(slice)来弥补数组的不足,数组切片一个最强大的功能就是支持对元素做...

Beego 框架入门篇:Beego! 一个 Golang Web 框架

对于一个想要用 Golang 开发 Web 应用的技术人来说,掌握一个框架是必要的,因为这些工具可以让我们工作起来更加的有效率,也能提高自己在职场上的竞争力。我在这里对 Beego 框架抛砖引玉,看完这些系列课程之后,你可以达到熟练使用 Beego 框架的来编写 Web 应用。 学习一门框架,我大概会从以下几个维度先去了解值不值得学习。第一是作者的来历,够不够牛逼;第二是框架的使用公司...

Go 语言函数式编程系列教程(八) —— 数据类型篇:数组及其使用

数组的声明和初始化 数组是所有语言编程中最常用的数据结构之一,Go 语言也不例外,与 PHP、JavaScript 等弱类型动态语言不同,在 Go 语言中,数组是固定长度的、同一类型的数据集合。数组中包含的每个数据项被称为数组元素,一个数组包含的元素个数被称为数组的长度。 和 PHP 一样,Go 语言也通过 [] 来标识数组类型,以下是一些常见的数组声明方法: var a [8]byte...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Process 模块在 PHP 中实现多进程(二):进程间通信

在上篇教程中,学院君给大家介绍了通过 Swoole 提供的 Process 模块可以在 PHP 中实现多进程编程,并且实现了一个简单的多进程 TCP 服务器,但是在该示例中,主进程和子进程之间并没有数据交互,如果主进程需要得到子进程的反馈,或者子进程需要接收来自主进程的数据,那么就需要进程间通信了。 好在 Swoole 的 Process 模块可以很好的支持进程间通信,在基于 Proce...

Go 语言函数式编程系列教程(七) —— 数据类型篇:基本数据类型之间的转化

通过前面几篇教程,我们已经陆续介绍完了 Go 语言中的基本数据类型,分别是布尔类型、整型、浮点型、复数类型、字符串和字符类型,和 PHP 一样,Go 语言也支持这些基本数据类型之间的转化,但是不是像 PHP 那种可以自动转化,比如下面这些语句在 PHP 中都是合法的: $a = 1; $b = 1.1; $c = "学院君"; $d = true; $sum = $a + $b; /...

Go 语言函数式编程系列教程(六) —— 数据类型篇:字符串和字符类型

字符串 基本使用 在 Go 语言中,字符串是一种基本类型,默认是通过 UTF-8 编码的字符序列,当字符为 ASCII 码时则占用 1 个字节,其它字符根据需要占用 2-4 个字节,比如中文编码通常需要 3 个字节。 声明和初始化 字符串的声明和初始化非常简单,举例如下: var str string // 声明字符串变量 str = "Hello World" /...

基于 Swoole 构建高性能 Laravel 应用系列 —— 通过 Process 模块在 PHP 中实现多进程(一):简单的多进程 TCP 服务器实现

Process vs PCNTL 我们知道,通过 PHP 自带的扩展 PCNTL 可以实现基于 Unix 的多进程管理(不能用于 Web 服务器环境),比如 Laravel 自带的队列系列解决方案 Horizon 就会用到这个扩展,但是 PCNTL 有很多坑,比如: 没有提供进程间通信的功能; 不支持重定向标准输入和输出; 只提供了 fork 这样原始的接口,容易导致使用错误。 因此...

Go 语言函数式编程系列教程(五) —— 数据类型篇:浮点型与复数类型

浮点型 浮点型也叫浮点数,用于表示包含小数点的数据,比如 3.14、1.00 都是浮点型数据。 浮点数的表示 和 PHP 一样,Go 语言中的浮点数采用IEEE-754 标准的表达方式,定义了两个类型:float32 和 float64,其中 float32 等价于 PHP 的 float 类型(单精度浮点数),可以精确到小数点后 7 位,float64 等价于 PHP 的 doubl...