随笔分类 - 后端开发
后端开发
PHP
Golang
Java
Python
摘要:前言: 进程,线程,协程,并发,并行介绍 正文: 线程,进程介绍: 1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位; 2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线 3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间 4. 调度和切换:线
阅读全文
摘要:前言: 在一些前后端不分离的Web架构中,我们通常需要在后端将一些数据渲染到HTML文档中,从而实现动态的网页(网页的布局和样式大致一样,但展示的内容并不一样)效果。 正文: 模板文件通常定义为.tmpl和.tpl为后缀(也可以使用其他的后缀.html,.htm) 模板文件中使用{{和}}包裹和标识
阅读全文
摘要:前言: HTTP 协议是无状态的,所以用户的每一次请求都是无状态的, 不知道在整个 Web 操作过程中哪些连接与该用户有关。 应该如何来解决这个问题呢? Web 里面经典的解决方案是 Cookie 和 Session。 正文: cookie 机制是一种客户端机制,把用户数据保存在客户端, 而 Ses
阅读全文
摘要:前言: Go语言标准库内建提供了net/http包,涵盖了HTTP客户端和服务端的具体实现。 使用net/http包,我们可以很方便地编写HTTP客户端或服务端的程序。 正文: 包的文档地址:https://go-zh.org/pkg/net/http net/http 包 使用说明: 注册路由 h
阅读全文
摘要:前言: 接口只有方法,并且方法里没有方法体,没有变量 接口中每个方法都要被一个类型实现,那么该类型就实现了该接口 接口定义了某个类型(对象)必须具备的功能,接口里面的方法是该类型最基本的功能,所以需要都实现。 那么实现接口后,直接实例化对象调用接口即可。 正文: 接口命名: 接口类型名,命名时一般在
阅读全文
摘要:数组定义: 固定长度,只能有一种数据类型 数组必须指定长度,或使用...通过编译器自动识别长度 数组定义形式: 1、 var users [3]string users = [3]string{"liudehua", "guofucheng", "liming"} 2、 var users = [3
阅读全文
摘要:定义时间模板: const TimeTem = "2006-01-02 15:04:05" //Format里必须用“2006-01-02 15:04:05” 表示24小时时间制显示时间 //Format里必须用“2006-01-02 03:04:05” 表示12小时时间制显示时间 //打印当前时间
阅读全文
摘要:前言: 包是多个 Go 源码的集合,是一种高级的代码复用方案。 Go语言中为我们提供了很多内置包,如 fmt、os、io,strconv,strings 等 Go 语言的入口 main() 函数所在的包(package)叫 main。 main 包想要引用别的代码,必须同样以包的方式进行引用。 go
阅读全文
摘要:前言: 结构体是go中对象操作中用的最多的类型。 json是作为数据交换最方便的类型 两个类型怎么做转换呢? 正文: 结构体的命名和成员命名必须遵循第一个字母大写,否则json库将结构体或成员作为私有的,进行忽略 json库文档: https://go-zh.org/pkg/encoding/jso
阅读全文
摘要:前言: Go 语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。 通过结构体的方式来实现了面向对象 ,去除了传统的oop语法,继承,重载,构造,析构,隐藏this的特性, 仍然有面向对象三大特性,实现和面向对象方法有所不同,没有extends关键字 , 结构体的内嵌配合接口比面向对象具有
阅读全文
摘要:前言: defer 语句会将其后面跟随的语句进行延迟处理, 在return前,将延迟处理的语句按 defer 的逆序进行执行 正文: defer 实例1: fmt.Println("hello") defer fmt.Println("a") defer fmt.Println("b") defer
阅读全文