golang

ChatGPT垂直行业私有数据知识库功能-咨询接口采用流式响应输出-JS和Golang实现流式响应

近期开发私有数据知识库功能,想要实现和ChatGPT聊天效果类似的逐字流式输出展示效果。 GPT3.5本身就有流式聊天补全接口,后端Golang对接后,也需要能流式输出。下面就介绍下前端JS后端Golang来实现这种输出效果 大部分介绍是使用EventStream来实现,我现在不使用EventStr ......
知识库 接口 ChatGPT 功能 知识

golang使用grpc的demo

Crafted by Genie You golang使用grpc的demo Genie 好的,这里是一个简单的 golang 使用 grpc 的示例代码: 1. 安装 gRPC 和 protobuf 首先需要安装 gRPC 和 protobuf 的支持库。可以在终端中使用以下命令来安装: go g ......
golang demo grpc

golang读取用户名和密码文件并生成笛卡尔积

密码爆破时需要读取用户名字典和密码字典来生成笛卡尔积派发爆破任务;直接读取全部字典内容到内存时成本较高; package main import ( "bufio" "fmt" "os" ) func main() { // 打开1.txt文件 file1, err := os.Open("1.tx ......
用户名 密码 文件 用户 golang

Golang基础-- select的用法

select是golang在语言层面提供的多路IO复用的机制,其可以检测多个channel是否ready 三个题目示例来说明一下select的大概作用: 题目一: 声明两个channel,分别为chan1和chan2,依次启动两个协程,分别向两个channel中写入一个数据就进入 睡眠。select ......
基础 Golang select

golang 中的 goto 用法和使用场景(转)

转自:golang中的goto 场景一:跳出多重循环 package main import "fmt" func main() { for x := 0; x < 10; x++ { for y := 0; y < 10; y++ { if y == 2 { // 跳转到标签 goto break ......
场景 golang goto

golang 编译碰到问题 Package python-2.7 was not found in the pkg-config search path.

golang 运行单测或者编译程序时提示需要配置 PKG_CONFIG_PATH 环境变量,原因是在程序里使用了 go-python 包,要求运行环境有 python2.7,并设置 PKG_CONFIG_PATH 环境变量,解决方案如下: # pkg-config --cflags -- pytho ......
pkg-config Package golang config python

Golang与Java全方位对比总结

本文针对Golang与Java的基础语法、结构体函数、异常处理、并发编程及垃圾回收、资源消耗等各方面的差异进行对比总结,有不准确、不到位的地方还请大家不吝赐教。 ......
全方位 Golang Java

Golang基础--defer的用法

defer语句用于延迟函数的调用,每次defer都会把一个函数压入栈中,函数返回前再把延迟的函数取出执行。 三个示例: import "fmt" func main() { var init = 1 defer fmt.Println(init) init = 2 } 输出1。延迟函数fmt.Pri ......
基础 Golang defer

Golang回调函数

Golang回调函数实例二则 定义 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响 ......
函数 Golang

Golang常用库之UUID

Golang 中生成唯一的字符串(UUID,GUID) 什么是UUID? 通用唯一标识符 (UUID) 是一种特定形式的标识符,在大多数实际用途中可以安全地认为是唯一的。两个正确生成的 UUID 相同的可能性几乎可以忽略不计,即使它们是由不同的各方在两个不同的环境中创建的。这就是为什么说 UUID ......
常用 Golang UUID

Golang反射获取变量类型和值

Golang反射获取变量类型和值 1. 什么是反射 反射是程序在运行期间获取变量的类型和值、或者执行变量的方法的能力。 Golang反射包中有两对非常重要的函数和类型,两个函数分别是: reflect.TypeOf能获取类型信息reflect.Type; reflect.ValueOf 能获取数据的 ......
变量 类型 Golang

使用Golang实现Nginx代理功能

由于业务需要实现对多个web应用做同域二级目录代理,用NGINX的又感觉太重了,而且不好做配置页面,用golang来实现代理功能 支持正则表达式匹配机制 支持多应用多级目录代理。 支持应用子路由代理 支持webapi代理 支持websocket代理 支持禁用缓存设置 支持http、https混合使用 ......
功能 Golang Nginx

巧如范金,精比琢玉,一分钟高效打造精美详实的Go语言技术简历(Golang1.18)

转自刘悦 研发少闲月,九月人倍忙。又到了一年一度的“金九银十”秋招季,又到了写简历的时节,如果你还在用传统的Word文档寻找模板,然后默默耕耘,显然就有些落后于时代了,本次我们尝试使用云平台flowcv高效打造一份巧如范金、精比琢玉的高品质Golang技术简历。 首先来到云平台:flowcv.com ......
Golang1 语言 简历 Golang 技术

golang TLS方式发送邮件

package mail import ( "crypto/tls" "errors" "fmt" "net/smtp" "net/textproto" ) type loginAuth struct { username, password string } // LoginAuth is fun ......
邮件 方式 golang TLS

golang 不聲明額外變量循環指定次數

range + make + struct{} = ? for range make([]struct{}, 10) { // TODO } 差不多就是 Rust 當中的 for _ in 0..10 { // TODO } 或 (0..=10).for_each(|_| { // TODO }); ......
golang

day7 golang GMP

大名鼎鼎的GMP模型 需要自行学习的知识:进程、线程、协程、多线程、线程池、io多路复用,内核态用户态,,同步阻塞异步非阻塞等等相关知识 代码是在线程中运行的,协程也是,所以当协程阻塞的时候该线程也阻塞了,其他任务就无法调度了,该线程就死了。 如何解决,那就需要让协程自由的在线程中移动,当阻塞的时候 ......
golang day7 day GMP

Golang之常用方法[总结]

1. 有一堆数字,如果除了一个数字以外,其他数字都出现了两次,那么如何找到出现一次的数字? nums := []int{1, 5, 1, 6, 5, 3, 6} i := 0 for _, v := range nums { i ^= v } fmt.Print(i) 重点是异或的使用 ......
常用 方法 Golang

(转)使用 Golang 创建和读取 Excel 文件

原文:https://juejin.cn/post/7117578016858849293 摘要 本文提出一种使用 Golang 进行 Excel 文件创建和读取的方案。首先对问题进行分析,引出方案的基本架构;然后分章节描述了 Excelize 基础库的基本用法,以及 Excel 数据在 Golan ......
文件 Golang Excel

运行 Golang 程序时让程序不会在运行结束后立即关闭命令行窗口

在运行 Golang 程序时,为了让程序不会在运行结束后立即关闭命令行窗口,可以采用以下两种方法: 使用 fmt.Scanln() 函数 在程序的末尾添加一行 fmt.Scanln() 可以暂停程序运行,等待用户在命令行中输入任何字符,程序将等待用户输入,然后再继续执行直到程序结束。 package ......
程序 命令 Golang

golang pprof 监控系列(4) —— goroutine thread 统计原理

golang pprof 监控系列(4) —— goroutine thread 统计原理 大家好,我是蓝胖子。 在之前 golang pprof监控 系列文章里我分别介绍了go trace以及go pprof工具对memory,block,mutex这些维度的统计原理,今天我们接着来介绍golan ......
goroutine 原理 golang thread pprof

golang开发需要掌握的核心包以及中间件,涵盖项目的各个领域,值得收藏

golang开发需要掌握的核心包以及中间件,涵盖项目的各个领域,值得收藏。 常用包常用包 说明fmt 实现格式化的输入输出操作,其中的fmt.Printf()和fmt.Println()是开发者使用最为频繁的函数。io 实现了一系列非平台相关的IO相关接口和实现,比如提供了对os中系统相关的IO功能 ......
中间件 核心 领域 项目 golang

Golang基础-Select

基本概念 select 是 Go 中的一个控制结构,类似于 switch 语句。 select 语句只能用于通道(channel)操作,每个 case 必须是一个通道操作,要么是发送要么是接收。 select 语句会监听所有指定的通道上的操作,一旦其中一个通道准备好就会执行相应的代码块。 如果多个通 ......
基础 Golang Select

如何在ubuntu22下安装docker版的golang来编译go语言写的代码

为了让我们的ubuntu22系统更干净清爽我们使用docker 首先使用snap install docker安装docker后即可使用docker了 docker命令的使用方法1:将你的代码下载到用户目录(~)下面(例如~/github/xixi/...)2:使用cd命令进到你代码需要运行go b ......
语言 代码 ubuntu docker golang

golang pprof 监控系列(3) —— memory,block,mutex 统计原理

golang pprof 监控系列(3) —— memory,block,mutex 统计原理 大家好,我是蓝胖子。 在上一篇文章 golang pprof监控系列(2) —— memory,block,mutex 使用里我讲解了这3种性能指标如何在程序中暴露以及各自监控的范围。也有提到memory ......
原理 golang memory block pprof

GO基础:02 Golang 基础简介

一、标识符 标识符是指定义的具有特殊意义的词,例如变量、常量、函数名等等,任何一门语言中都对自己的标识符有特殊定义的规则。在 Go 语言中,标识符由字母数字和下划线组成,并且只能以字母和下划线开头,例如: 数字、字母和下划线组成:123、abc _ 只能以字母和下划线开头:abc123、_sysVa ......
基础 简介 Golang

GO基础 - 01 Hello,Golang

一、开发环境搭建 1. 下载 SDK 1 // Go官网下载地址 2 https://golang.org/dl/ 3 ​ 4 // Go官方镜像站(推荐) 5 https://golang.google.cn/dl/ 2. 安装 由于Go语言是一门跨平台的编译型语言,我们只需要在一个平台下进行开发 ......
基础 Golang Hello 01

GO基础:03 Golang 基本数据类型

一、整型 1. 整型介绍 Go 语言中,整型可以分为以下几类: 类型描述 uint8 无符号 8位整型 (0 到 255) uint16 无符号 16位整型 (0 到 65535) uint32 无符号 32位整型 (0 到 4294967295) uint64 无符号 64位整型 (0 到 184 ......
类型 基础 数据 Golang

golang CVE-2016-2183漏洞,https需要添加tls设置加密算法CipherSuites白名单,将弱加密算法DES和3DES去掉。

golang CVE-2016-2183漏洞,https需要添加tls设置加密算法白名单,将弱加密算法DES和3DES去掉。 服务端样例代码 package main import ( "crypto/tls" "fmt" "net/http" ) func handler(writer http. ......
算法 CipherSuites 漏洞 DES 名单

golang http(s)请求转发

func main(){ router := gin.Default()//创建一个router router.Use(MiddleWare())//中间件,起拦截器的作用 router.Any("/*action", Forward)//所有请求都会经过Forward函数转发 router.Run ......
golang http

golang 中的 cronjob

引言 最近做了一个需求,是定时任务相关的。以前定时任务都是通过 linux crontab 去实现的,现在服务上云(k8s)了,尝试了 k8s 的 CronJob,由于公司提供的是界面化工具,使用、查看起来很不方便。于是有了本文,通过一个单 pod 去实现一个常驻服务,去跑定时任务。 经过筛选,选用 ......
cronjob golang