现今即便是个人开发的一般程序,其包含的函数,这些函数代码一般都有他人编写并打包为包或者模块的形式,并通过相关社区并发,最后有软件通过调用这些包或者模块的函数来更高效的完成开发。通过包或者模块的形式重用代码使得编程开发变得轻松go语言包,fmt os等这样具有常用功能的内置包在go语言中一百多个,我们称为标准库,这些标准包大部分都内置到go语言本身 大部分编程语言
转载
2024-03-19 13:45:16
38阅读
一、基础知识Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。Redis 优势 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered
转载
2023-08-18 18:30:03
282阅读
# 实现golang的redis包中的getlock
## 1. 理解“getlock”的概念
在golang的redis包中,getlock指的是获取一个分布式锁,保证在多个goroutine或多个服务之间对某一资源的互斥访问。
## 2. 实现步骤
以下是实现"getlock"的流程,以表格形式展示每个步骤:
| 步骤 | 操作 |
| --- | --- |
| 1 | 连接Redis
原创
2024-06-28 04:30:38
47阅读
原文链接如何在 Golang 中使用 Redis 订阅/发布订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑
转载
2023-06-01 14:48:01
377阅读
3.8、Golang包packageGolang包的定义和导入通常,文件夹名称和包名称相同,并且,同一个文件夹下面只有一个包定义包service/user_service.gogopackageservice导入包main.gogopackagemainimport"service"golang包管理工具gomodulegomodule是golang1.11版本新加的特性,用来管理模块中包的依赖关
原创
精选
2022-10-23 15:19:41
487阅读
pipeline
pipeline 是你可以用来在系统中形成抽象的另一种工具。特别是当程序需要流式处理 或批处理数据时,它是一个非常强大的工具。
pipeline 只不过是一系列将数据输入, 执行操作并将结果数据传回的系统。 将这些操作称为 pipeline 的一个 stage. 通过使用pipeline, 可以分离每个stage的关注点, 这提供了很多好处。如可以可以相互独立地修改各个stag
转载
2024-02-27 09:14:45
39阅读
Redis介绍Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。 除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统Redis支持的数据结构Redis支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(set
转载
2024-06-06 14:52:41
62阅读
定义 函数可以嵌套定义(嵌套的函数一般为匿名函数),即在一个函数内部可以定义另一个函数。Go语言通过匿名函数支持闭包,C不支持匿名函数,在C11中通过Lambda表达式支持闭包。 闭包是由函数及其相关引用环境组合而成的实体(即:闭包=函数+引用环境)。 引用环境的定义: 在函数式语言中,当内嵌函数体 ...
转载
2021-08-08 16:03:00
190阅读
2评论
server端 package mainimport ( "net" "fmt" "os" "time")func main() { server := ":7373"
原创
2023-02-09 08:05:59
563阅读
flag, flagSet
原创
2023-06-20 11:03:42
168阅读
fmt fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。 向外输出 标准库fmt提供了以下几种输出相关函数。 Print Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符 ...
转载
2021-08-19 14:36:00
298阅读
2评论
go context标准库 context包在Go1.7版本时加入到标准库中。其设计目标是给Golang提供一个标准接口来给其他任务发送取消信号和传递数据。其具体作用为: 可以通过context发送取消信号。 可以指定截止时间(Deadline),context在截止时间到期后自动发送取消信号。 可 ...
转载
2021-08-19 16:54:00
751阅读
2评论
1.什么是闭包闭包就是能够读取其他函数内部变量的函数,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。2.实例1package mainimport ( "fmt")//函数片段func add(base int) func(int) int { fmt.Printf("%p\n", &base) //打印变量地址
原创
2022-04-08 09:18:13
535阅读
点赞
闭包:一个函数和与其相关的引用环境组合而成的实体先看下面的这个例子:package main
import "fmt"
func adder() func(int) int {
sum := 0
&n
原创
2017-11-30 16:50:06
837阅读
一个回文判断练习, 使用了 unicode 包中的两个方法, 记录一下
原创
2023-06-20 11:07:59
80阅读
golang自带了testing测试包,使用该包可以进行自动化的单元测试,输出结果验证,并且可以测试性能。
建议安装gotests插件自动生成测试代码:
go get -u -v github.com/cweill/gotests/...
测试文件及目录
使用testing测试包的测试文件名称需要以_test.go结尾,并且该测试文件需要与待测试的文件置于同一目录下。比如如下目录:
转载
2019-08-24 09:54:00
251阅读
2评论
一、我的GOPATH环境变量值如下图: 二、在GOPATH路径下面的的src目录下面的目录名称就是引用里面包的起
原创
2022-08-02 17:09:06
389阅读
Golang 闭包
原创
2022-11-13 00:22:00
74阅读
archivebufiobytescmdcontainercryptodatabasedebugencodingerrorsflagfmtgohashimageindexiologmathnet
原创
2022-06-20 20:35:15
103阅读
1 形式含义 所谓闭包就是一个函数“捕获”了和它在同一作用于的其他常量和变量。 从形式上看,在Golang中,所有的匿名函数都是闭包。闭包的创建方式和普通函数几乎一致,只有一个关键区别:闭包没有名字。 我们来看两个例子addPng := func(name string) stri
原创
2015-10-15 15:49:57
7085阅读