一道golang

Golang学习笔记-处理HTTP请求参数

``` func body(w http.ResponseWriter, r *http.Request) { fmt.Println(r.Header) // 获取请求头信息:r.Header // 获取请求头的某条信息:h := r.Header["Accept-Encoding"]或h := ......
参数 笔记 Golang HTTP

Golang连接kafka记录

上代码 一个简单的demo package mainimport ( "fmt" "github.com/IBM/sarama")func main() { //1.生产者配置 config := sarama.NewConfig() config.Producer.RequiredAcks = s ......
Golang kafka

golang io复用端口监听

开发高性能server的时候,不可避免的需要接触到io复用——多个线程或者进程,可以创建一个或多个监听程序(监听同一个地址和端口),并且可以多个线程接收数据,让系统进行负载均衡。不同系统下有不同的模型:windows的iocp,linux的epoll和unix的kqueue。这里只讨论linux下的 ......
端口 golang

百度文心一言文心千帆大模型 ERNIE-Bot-turbo调用示例(golang版本)

百度的文心一言推出来也有一段时间了,但是接口部分一直没有公开,需要进行申请 最近,有朋友提供了文心千帆大模型的api权限,拿到了必须的参数,现在就来测试一下 下面是使用golang封装的文心千帆 ERNIE-Bot-turbo模型的调用示例 ERNIE-Bot-turbo.go package li ......
文心 ERNIE-Bot-turbo 示例 模型 版本

golang slice (切片) 扩容机制详解(1.18版本后)

**slice源码定义**: ```go type slice struct { array unsafe.Pointer //指向底层数组的指针 len int //切片长度 cap int //切片容量 } ``` **growslice()方法**:用于 slice 的扩容 ```go fun ......
机制 版本 golang slice 1.18

golang println与fmt.Println性能差距

具体原因和底层细节没有仔细看,不做描述,只说一下结果。循环获取UDP的socket数据,满速情况下(每个数据包获取后输出一下当前接收数据包总数),println比fmt.Println慢了1倍。比如发送10万个包,fmt.Println可以接收到9万多,而println只能接收4万~5万 ......
差距 性能 Println println golang

golang: 模仿 VictoriaMetrics 中的做法,通过把局部变量放在自定义 Context 对象中来做到hot path 的 0 alloc

**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G ......
VictoriaMetrics 变量 局部 做法 对象

golang实现的 https 协议的四层代理和七层代理

**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G ......
golang https

深入理解golang的nil类型

误区 刚开始总是以为golang的nil和其他编程语言的NULL是一个东西,golang 的nil表示复杂类型的默认值,比如golang中基本类类型都有自己的默认值如 int=0 bool=false string="" nli关键字?还是类型?还是变量? nil是一个变量 nil本质上是一个 Ty ......
类型 golang nil

centos7 下全局配置最新版的golang语言开发环境

按照以下步骤进行操作: 1. 前往Go官方网站下载页面(https://golang.org/dl/)查找最新版本的Go二进制文件。 2. 使用`wget`命令下载最新版本的Go二进制文件。例如,如果最新版本是1.17,执行以下命令: ```shell $ wget https://golang.o ......
全局 最新版 centos7 语言 环境

golang 重塑切片指针接口

result *[]xxx 1. 判断接口是否为空 2. 构造新指针类型,并赋值空切片 if reflect.ValueOf(result).Elem().IsNil() { resultType := reflect.TypeOf(result).Elem() t2 := reflect.New( ......
指针 接口 golang

用 Golang 从0到1实现一个高性能的 Worker Pool(一) - 每天5分钟玩转 GPT 编程系列(3)

[TOC] ## 1. 概述 话说,早几天一口气过了一遍 Golang 的并发机制: - [跟着 GPT-4 从0到1学习 Golang 并发机制(一)](https://www.danielhu.cn/from_0_to_1_go_concurrency_with_gpt_1/) - [跟着 GP ......
高性能 Golang Worker Pool GPT

GoFrame v2.5 版本发布,企业级 Golang 开发框架

开发工具新增了 `gf gen ctrl` 命令,以规范化定义、开发 API 接口,增加控制器、SDK 的代码生成提高开发效率,以解决 `Golang` 工程开发中接口层面的规范和效率问题。 ......
框架 GoFrame 版本 Golang 企业

关于 golang 的 Gorm 中钩子函数的示例

#### https://gorm.io/zh_CN/docs/hooks.html ```go // Hook 是在创建、查询、更新、删除等操作之前、之后调用的函数 // 若已经为模型定义了上述相关方法,则会在创建、更新、查询、删除时被自动调用 // 若任何回调返回错误,则停止后续操作并回滚事务 ......
钩子 示例 函数 golang Gorm

golang占位符

golang占位符%v,%+v,%#v有什么区别? 原创 萧瑟 golang面试经典讲解 2023-07-12 20:05 发表于上海 收录于合集 #go14个 #go语言14个 #面试43个 一、前言 平时遇到这样的疑问,怎么样解决呢? 教大家一个小技巧,windows直接ctrl+单击fmt包名 ......
golang

一道交互题的解法的探究

最近,我出了这么一道交互题: 考虑一棵树,我们每次可以询问点集合$S$构成的虚树(链并)是否包含一个点$x$,要求还原整棵树。每次询问代价为$1$。 ......
解法 一道

对 Golang 中 reflect 反射包的示例

#### 引子 ```go // 由于反射是基于类型系统 (type system) 的,所以先简单了解下类型系统 type MyInt int README var i int var j MyInt // 上面的 i 是 int 类型,j 是 MyInt 类型,i 和 j 是不同的静态类型,尽管 ......
示例 reflect Golang

golang pprof

虽然go提供了很多便于并发的功能,但是写出一个高性能的程序还是有一定挑战的。当程序遇到性能问题,go同样提供了比较好的工具便于分析。 # 引入net/http/pprof" ``` import ( _ "net/http/pprof" ) ``` # 在main函数最后启动http server ......
golang pprof

goland打开配置golang工程

有一个golang工程,没有go.mod,用goland打开,配置编译,会提示没有go.mod,但是增加了go.mod,又提示工程目录下引用的包找不到。 # 去掉go.mod ![](https://img2023.cnblogs.com/blog/466332/202307/466332-2023 ......
goland golang 工程

Golang 刷题记录

title: Go 刷题记录 date: 2020-03-08 21:32:39 categories: [Algorithm] tags: [Go,Algorithm] 刷了大概 50 道题,我个人的结论:在中等难度题中,使用 Golang 的效率完全是不输于 C++的,特别是在 Golang 没 ......
Golang

Golang 中的 Functional Options 模式和 Builder 模式

[TOC] ## 一、概述 今天我们来看 Golang 中的 **Functional Options 模式**和 **Builder 模式**。 ## 一、如何实例化/初始化一个对象 我们从最简单的版本开始,如下: ```go type Server struct { Port int Proto ......
模式 Functional Builder Options Golang

跟着 GPT-4 从0到1学习 Golang 并发机制(三)

[TOC] ## 一、前言 话接上回[《跟着 GPT-4 从0到1学习 Golang 并发机制(二)》](https://www.danielhu.cn/from_0_to_1_go_concurrency_with_gpt_2/),我想试试看 GPT-4 能不能当好一个编程老师,循循善诱,由浅入深 ......
跟着 机制 Golang GPT

Golang学习笔记-循环

[toc] ## 自增循环遍历 > `for`循环语句中包含3个部分,`初始化语句`,`条件判断语句`和`循环标记语句` > > `初始化语句`在进入`for`循环体前执行,用于初始化循环用的变量,只执行一次 > > `条件判断语句`在每轮循环开始前执行,当条件成立时才会继续执行循环体中的内容,否则 ......
笔记 Golang

Golang学习笔记-数据类型

[toc] ## 整型 > 整型分为两类:`有符号整型` 和 `无符号整型` > > 在内存中由两部分表示: `{符号位}{数字位置}` ### 有符号整型 | 类型 | 长度(字节数) | 值的范围 | | | | | | int | 在32位平台为4,在64位平台为8 | 在32位平台等同于in ......
类型 笔记 数据 Golang

golang的list数据结构demo

package mainimport "container/list"func main(){ var mylist list.List //放在尾部 mylist.PushBack("go") mylist.PushBack("grpc") mylist.PushBack("mysql") //头 ......
数据结构 结构 数据 golang demo

golang channel Synchronization

在 Go 语言中,通道(channel)是一个很重要的并发同步机制,可以用来在不同的 goroutine 之间发送和接收数据。 通道实现了一个先进先出(FIFO)的数据结构,所以可以确保数据的接收顺序与发送顺序一致。此外,通道的发送和接收操作都是原子的,这意味着你不需要额外的锁来同步数据访问。 这里 ......
Synchronization channel golang

跟着 GPT-4 从0到1学习 Golang 并发机制(二)

btw: 我的[个人博客网站](https://www.danielhu.cn) [TOC] ## 一、前言 话接上回[《跟着 GPT-4 从0到1学习 Golang 并发机制(一)》](https://www.danielhu.cn/from_0_to_1_go_concurrency_with_ ......
跟着 机制 Golang GPT

跟着 GPT-4 从0到1学习 Golang 并发机制(一)

[TOC] ## 一、前言 今天玩点不一样的,我想试试看 GPT-4 能不能当好一个编程老师,循循善诱,由浅入深,深入浅出…… 给我讲解下 Golang 里的并发机制。 今天倒掉腹中半杯水,当回白纸,GPT 为笔,代码为颜料,挥笔泼墨,且看能绘出怎样的世界。 ## 二、开聊 > 下文通过 DevCh ......
跟着 机制 Golang GPT

Golang学习笔记-判断

> 判断有两种:`if` 和 `switch` ## if判断 > `if`用于条件判断,它会按照顺序一次执行,当`if`条件及`else if`条件都不成立,则会执行`else`部分的逻辑 > > 语法 > > ``` > if 条件判断 { > ... > }else if 条件判断 { > . ......
笔记 Golang

Golang学习笔记-常量

## 声明常量 > 声明常量关键字: `const` ```go const {常量名} {常量类型} 或 const {常量名} = {常量值} ``` ## 预定义常量 > 预定义常量:`true` , `false` , `iota` > > 其中`true` , `false` 是布尔类型, ......
常量 笔记 Golang