05 2020 档案
摘要:在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能: 能够将事件记录到文件中,而不是应用程序控制台。 日志切割-能够根据文件大小、时间或间隔等来切割日志文件。 支持不同的日志级别。例如INFO,DEBUG,ERROR等。 能够打印基本信息,如调用文件/函数名和行号,日志时间等。 G
阅读全文
摘要:Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法。本包也提供了一个预定义的“标准”logger,可以通过调用函数Print系列(Print|Printf|Println)、Fatal系列
阅读全文
摘要:fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。 向外输出 标准库fmt提供了以下几种输出相关函数。 Print Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Pr
阅读全文
摘要:函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容。 函数 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函
阅读全文
摘要:变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息。 值信息:程序运行过程中可动态变化的。 反射介绍 反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反
阅读全文
摘要:time包是go语言的内置库,提供了时间的显示和测量用的函数。日历的计算采用的是公历。 一、时间类型 time.Time类型表示时间。我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。示例代码如下: func timeDemo() { now := tim
阅读全文
摘要:现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。 关于网络编程其实是一个很庞大的领域,本文只是简单的演示了如何使用net包进行TCP和UDP通信。如需了解更详细的网络编程请自行检索和阅读专
阅读全文
摘要:Go语言的包(package) 一、包介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。 二、定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要
阅读全文
摘要:go test工具 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是go test测试的一部分,不会被g
阅读全文
摘要:一、Go基础入门知识 二、变量和基本数据类型 三、流程控制语句 四、数组和切片 五、map的声明和使用 六、函数func方法 七、指针和地址 八。结构体 九、接口interface 十、并发神器goroutine和channel 十一、断言和反射
阅读全文
摘要:配置文件config.yaml log: prefix: '[MY-LOG] ' log-file: true stdout: 'DEBUG' file: 'DEBUG' config/config.go package config type Log struct { Prefix string
阅读全文
摘要:配置文件结构体 config.go package config type System struct { Mode string `mapstructure:"mode" json:"mode" ini:"mode"` } type Log struct { Prefix string `maps
阅读全文
摘要:一、Vue-cli的环境准备 目的:(1)快速管理依赖 (2)确定项目结构 1.安装node.js Node.js是一个可以让前端运行在服务器上的一个工。 下载:https://nodejs.org/zh-cn/ 测试node.js是否安装成功:cmd下输入node -v npm config se
阅读全文
摘要:一、Vue对象的操作 1. 可以通过一个Vue对象操作另一个Vue对象 var v1 = new Vue({ el: "#app1", data: {title:”hello vuw!”} }); var v2 = new Vue({ el: "#app1", methods:{ changev1t
阅读全文
摘要:一、Vue和MVVM Vue是一个渐进式的js框架,只注重视图层,结合了HTML+CSS+JS,非常的易用,并且有很好的生态系统,而且vue体积很小,速度很快,优化很到位。 Vue技术周四MVVM开发模式的实现者 MVC M model V view C controller MVVM M mode
阅读全文
摘要:目录 Vue系列教程(一)之初识Vue Vue系列教程(二)之Vue进阶 Vue系列继承(三)之Vue-cli脚手架的使用 ... 更新中 基础入门 Vue基础(一)之es6 Vue基础(二)之箭头函数 Vue基础(三)之对象的单体模式和面向对象 Vue基础(四)之Vue的基础使用 Vue基础(五)
阅读全文
摘要:一、session和cookie: 现在一般都是session和cookie一起用,一起提。但是他们俩其实不是一定要在一起。 session的产生原因是,http协议是无状态的 这就导致了,不同的用户在操作时,服务端无法知道是哪个用户发来的请求,为了做这种区分,服务器就要给每个客户端分配不同的“身份
阅读全文
摘要:wt(JSON Web Tokens),是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明。目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。 1. jwt认证流程 在项目开发中,一般会按照上图所示的过程进行认证,即:用户登录成功之后,服务端给用户浏览器返回一个
阅读全文