//雪花飘落特效 //右上角github跳转   
摘要: Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现。 net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的实现。 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网 阅读全文
posted @ 2023-11-03 09:39 农夫运维 阅读(28) 评论(0) 推荐(0)
摘要: 无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 log Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法。本 阅读全文
posted @ 2023-11-03 09:39 农夫运维 阅读(26) 评论(0) 推荐(0)
摘要: Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 package main import ( "fmt" "os" ) //os.Args demo 阅读全文
posted @ 2023-11-03 09:39 农夫运维 阅读(90) 评论(0) 推荐(0)
摘要: 在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的t 阅读全文
posted @ 2023-11-03 09:39 农夫运维 阅读(12) 评论(0) 推荐(0)
摘要: Go 语言中的错误处理与其他语言不太一样,它把错误当成一种值来处理,更强调判断错误、处理错误,而不是一股脑的 catch 捕获异常。 Error接口和错误处理 Error 接口 Go 语言中把错误当成一种特殊的值来处理,不支持其他语言中使用try/catch捕获异常的方式。 Error 接口 Go 阅读全文
posted @ 2023-11-03 09:38 农夫运维 阅读(134) 评论(0) 推荐(0)
摘要: 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。 接口 本章学习目标 了解为什么需要接口以及接口的特点 掌握接口的声明和使用 掌握接口值的概念 掌握空接口的特点及其使用场景 在Go语言中接口(interface)是一种类型,一种抽象的类型。相较于之 阅读全文
posted @ 2023-11-03 09:38 农夫运维 阅读(51) 评论(0) 推荐(0)
摘要: 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定义包、如何导出包的内容及如何导入其他包。 包与依赖管理 本章学习目标 掌握包的定义和使用 掌握init初始化函数的使用 掌握依赖管理工具go module的使用 在工程化的Go语言开发项 阅读全文
posted @ 2023-11-03 09:37 农夫运维 阅读(43) 评论(0) 推荐(0)
摘要: 方法和接收者 Go语言中的方法(Method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收者(Receiver)。接收者的概念就类似于其他语言中的this或者 self。 方法的定义格式如下: func (接收者变量 接收者类型) 方法名(参数列表) (返回参数) { 函数体 } 其中, 阅读全文
posted @ 2023-11-03 09:37 农夫运维 阅读(75) 评论(0) 推荐(0)
摘要: Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 类型别名和自定义类型 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义 阅读全文
posted @ 2023-11-03 09:37 农夫运维 阅读(29) 评论(0) 推荐(0)
摘要: Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 类型别名和自定义类型 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义 阅读全文
posted @ 2023-11-03 09:36 农夫运维 阅读(49) 评论(0) 推荐(0)
摘要: 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。 Go语言中的指针 任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。 比如,“永远不要 阅读全文
posted @ 2023-11-03 09:36 农夫运维 阅读(15) 评论(0) 推荐(0)
摘要: 函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容。 函数 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函 阅读全文
posted @ 2023-11-03 09:36 农夫运维 阅读(17) 评论(0) 推荐(0)
摘要: Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map定义 Go语言中 map的定义语法如下: map[KeyType]ValueType 其中, KeyType 阅读全文
posted @ 2023-11-03 09:35 农夫运维 阅读(24) 评论(0) 推荐(0)
摘要: 本文主要介绍Go语言中切片(slice)及它的基本使用。 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 例如: func arraySum(x [3]int) int{ sum := 0 for _, v := range x{ sum = sum + v } 阅读全文
posted @ 2023-11-03 09:35 农夫运维 阅读(34) 评论(0) 推荐(0)
摘要: 本文主要介绍Go语言中数组(array)及它的基本使用。 Array(数组) 数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 阅读全文
posted @ 2023-11-03 09:34 农夫运维 阅读(20) 评论(0) 推荐(0)
摘要: 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。 Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。 if else(分支结构) if条件判断基本写法 Go语言中if条件判断 阅读全文
posted @ 2023-11-03 09:34 农夫运维 阅读(15) 评论(0) 推荐(0)
摘要: 运算符用于在程序运行时执行数学或逻辑运算。 运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。 关系运算符 阅读全文
posted @ 2023-11-03 09:34 农夫运维 阅读(11) 评论(0) 推荐(0)
摘要: Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:ui 阅读全文
posted @ 2023-11-03 09:33 农夫运维 阅读(16) 评论(0) 推荐(0)
摘要: 变量和常量是编程中必不可少的部分,也是很好理解的一部分。 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。 关键字 阅读全文
posted @ 2023-11-03 09:33 农夫运维 阅读(21) 评论(0) 推荐(0)
摘要: go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。到今天Go1.14版本推出之后Go modules 功能已经被正式推荐在生产环境下使用了。 这几天已经有很多教程讲解如何使用go module,以及如何使用g 阅读全文
posted @ 2023-11-03 09:32 农夫运维 阅读(107) 评论(0) 推荐(0)