switch go
Go内存管理
1. 存储基础知识 1.1 计算机的存储体系 从上至下依次是:CPU寄存器、Cache、内存、硬盘等辅助存储设备、鼠标等外接设备 说明:从上至下,访问速度越来越慢,访问时间越来越长 1.2 内存 1)物理内存 通过物理内存条而获得的内存空间,这种存储是没有写入硬盘的,在计算机关机后就会丢失 2)虚拟 ......
fork: retry: No child processes 在go程序中,每个程序启动64个协程会报此错误(每台机器有多个go程序)
解决方案:vi /etc/security/limits.d/20-nproc.conf * soft nproc 4096 root soft nproc unlimited 或者修改4096为unlimited ......
Go 函数多返回值错误处理与error 类型介绍
Go 函数多返回值错误处理与error 类型介绍 目录Go 函数多返回值错误处理与error 类型介绍一、error 类型与错误值构造1.1 Error 接口介绍1.2 构造错误值的方法1.2.1 使用errors包1.2.2 自定义错误类型二、error 类型的好处2.1 第一点:统一了错误类型2 ......
go使用snmp库查询mib数据
转载请注明出处: OID(Object Identifier)是一种用于标识和唯一命名管理信息库中的对象的标准方式。给定一个OID,可以确定特定的管理信息库对象,并对其进行操作。 go语言使用snmp库中的 k-sone/snmpgo 实现相关mib查询的代码如下: package main imp ......
Go - Changing the Timing for Running Performance Tests
Problem: You want to run performance tests for a specific duration or a specific number of iterations. Solution: You can increase the minimum duration ......
Go - Avoiding Test Fixtures in Performance Tests
Problem: You want to customize the performance tests to avoid benchmarking test fixtures. Solution: You can start, stop, and reset the benchmark timer ......
Go - Testing a Web Application or a Web Service
Problem: You want to do unit testing on a web application or a web service. Solution: Use the httptest.NewRecorder function to create an httptest.Resp ......
Go - Generating Random Test Inputs for Tests
Problem: You want to generate random test data for running your test functions. Solution: Use fuzzing , which is an automated testing technique to gen ......
2023-10-18:用go语言,给定一个数组arr,长度为n,表示有0~n-1号设备, arr[i]表示i号设备的型号,型号的种类从0~k-1,一共k种型号, 给定一个k*k的矩阵map,来表示型号
2023-10-18:用go语言,给定一个数组arr,长度为n,表示有0~n-1号设备, arr[i]表示i号设备的型号,型号的种类从0~k-1,一共k种型号, 给定一个k*k的矩阵map,来表示型号之间的兼容情况, map[a][b] == 1,表示a型号兼容b型号, map[a][b] == 0 ......
Go - Running Tests in Parallel
Problem: You want to speed up testing by running tests in parallel. Solution: Use the t.Parallel function to enable tests or subtests to run in parall ......
Go - Creating Subtests to Have Finer Control Over Groups of Test Cases
Problem: You want to create subtests within a test function to have finer control over test cases. Solution: Use the t.Run function to create subtests ......
go分析变量逃逸
Go语言中的变量逃逸指的是编译器将一个变量从局部(函数内部)变量变为堆上分配的全局变量的情况。 变量逃逸通常发生在以下情况: 1. 返回指针:当函数返回一个局部变量的指针时,编译器将不得不将该变量分配到堆上,以便在函数返回后仍然可以访问它。 func createObject() *Object { ......
Go反射终极指南:从基础到高级全方位解析
在本文中,我们将全面深入地探讨Go语言的反射机制。从反射的基础概念、为什么需要反射,到如何在Go中实现反射,以及在高级编程场景如泛型编程和插件架构中的应用,本文为您提供一站式的学习指南。 关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI ......
Go - Setting Up and Tearing Down Before and After Tests
Problem: You want to set up data and an environment for testing and tear it down after the test is run. Solution: You can create helper functions or u ......
go封装数据库连接池
package mainimport ( "errors" "fmt" "gorm.io/driver/mysql" "gorm.io/gorm")// DBConfig 定义一个DBConfig结构体,用于存储数据库连接的配置信息,包括主机地址、端口、用户名、密码和数据库名type DBConfi ......
go语言使用单例模式封装数据库连接池
package singledb import ( "gorm.io/driver/mysql" "gorm.io/gorm" "sync" ) // 数据库连接对象只有一个 var ( db *gorm.DB Once sync.Once //只执行一次某个操作的机制 ) func GetDbIn ......
Go 提取字符串中url,转换为markdown格式并替换
Go 提取字符串中url,转换为markdown格式并替换 // MakeContentUrlToMarkDown 将字符串中url非markdown格式转[](url)格式 func MakeContentUrlToMarkDown(sourceString string) (resultStri ......
Go - Making an HTTP Client Request
Problem: You want to make an HTTP request to a web server. Solution: Use the net/http package to make an HTTP request. HTTP is a request - respond pro ......
菜鸡go后端开发学习笔记1
首先了解项目内容及对应的人员:重要的是产品以及前端。 1、了解项目,理清逻辑,有什么不通顺的地方不清楚的地方及时的与产品进行沟通。 2、在写请求时,主要是前端发送请求给到后端,后端通过逻辑处理获取数据库里面对应的数据,并返回数据。所以请求字段和前端是有交互的,和前端约定接口:请求的路径、请求的方式、 ......
Go - Using Templates for Go Web Applications
Problem: You want to use Go’s templating system to create a web application. Solution: Use the html/template package to create a web application. pack ......
Go - Serving Through HTTPS
Problem: You want to serve your web application through HTTPS. Solution: Use the http.ListenAndServeTLS function to serve your web application through ......
从内存使用角度的比较:Go vs Rust
Go和Rust是最近几年非常火的语言,经常有人问到底该怎么选择,特别是谁更适合搭建网络后台服务,哪一个性能更好,稳定性更高。 网络上Go和Rust的比较文章很多,大体上是做一个测试或写几段测试代码,根据运行的时长来比较哪个性能更好,但这种测试可能会陷入误区: 1)比来比去,比的是网络IO,因为这种测 ......
Go - Creating a JSON Web Service API
Problem: You want to create a simple web service API that returns JSON. Solution: Use the net/http package to create a web service API and the encodin ......
Go - Serving Static Files
Problem: You want to serve static files such as images, CSS, and JavaScript files. Solution: Use the http.FileServer function to serve static files. f ......
用go封装和实现扫码登录
本篇会讲讲token-go扫码登录的封装和实现,给库/框架增加新的功能,最后说明使用方法,源码:https://github.com/weloe/token-go ......
使用go语言开发hive导出工具
前言 新版 hive 提供了 beeline 工具,可以执行SQL并导出数据,不过操作还是有点复杂的,团队里有些同学不会Linux的基本操作,所以我花了亿点点时间写了个交互式的命令行工具方便使用。 效果 命令行工具,就是这么朴实无华。 探索过程 一开始是打算用 bash 脚本,结果发现根本不会写,b ......
【转】,接上面3篇.Implement Sql Database Driver in 100 Lines of Go
原文: https://vyskocil.org/blog/implement-sql-database-driver-in-100-lines-of-go/ Implement Sql Database Driver in 100 Lines of Go 2019.02.18 Go databas ......
go 语言 == 引用判断和对象判断的区别
引用判断:只是判断内存地址是不是一样的。 a := []int{1, 2, 3} b := a c := make([]int, len(a)) copy(c, a) fmt.Println(a == b) // true,因为它们引用相同的内存地址 fmt.Println(a == c) // t ......
Go - Uploading a File to a Web Application
Problem: You want to upload a file to a web application. Solution: Use the net/http package to create a web application and the io package to read the ......