GO分析-GOseq的使用教程
GOseq的介绍
GOseq是一个R包,用于寻找GO terms,即基因富集分析。此方法基于 Wallenius non-central hyper-geometric distribution。相对于普通的超几何分布(Hyper-geometric distribution),此分布的特点是从某个类别中抽取个体的概率与从某个类别之外抽取一个个体的概率是不同的,这种概率的不同是通过对基因长度的偏好 ...
Go组件学习——cron定时器
1 前言
转到Go已经将近三个月,写业务代码又找到了属于Go的条件反射了。
后置声明和多参数返回这些Go风格代码写起来也不会那么蹩脚,甚至还有点小适应~
反而,前几天在写Java的时候,发现Java怎么启动这么慢,Java怎么能够容忍这些用不到的代码还理直气壮的躺在那……等等,这些话在哪听过类似的???
“G ...
go-zero 实战之 blog 系统
go-zero 实战项目:blog
本文以 blog 的网站后台为例,着重介绍一下如何使用 go-zero 开发 blog 的用户模块。
本文涉及的所有资料都已上传 github 仓库 kougazhang/go-zero-demo,感兴趣的同学可以自行下载。
用户模块是后台管理系统常见的模块,它的功能大家也非常熟悉。管理用户涉及到前端操作,用户信息持久化又离不开数 ...
简单的 Go 入门教程
Go(又称 Golang )是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言
Docker 和 Kubernetes 都是使用 Go 进行开发的,这几年 Go 越来越流行,生态也越来越好了
初学 Go 的时候会遇到了一些小问题,在一些教程中没有提及或者因为时效性的缘故,经常需要查阅很多资料才能弄懂,所以想写一篇比 ...
Go gRPC教程-简单RPC(二)
前言
gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)、和双向流式(Bidirectional streaming RPC)。
简单模式(Simple RPC):客户端发起请求并等待服务端响应。
服务端流式(Server-side streaming RPC):客户端发送请 ...
Go坑:time.After可能导致的内存泄露问题分析
Go 中 time.After 可能导致的内存泄露
一、Time 包中定时器函数
go v1.20.4
定时函数:NewTicker,NewTimer 和 time.After 介绍
time 包中有 3 个比较常用的定时函数:NewTicker,NewTimer 和 time.After:
NewTimer: 表示在一段时间后才执行,默认情况下执行一次。如果想再次执行,需要调用 time.Reset() 方法,这时类 ...
基于Golang构建一个网络漏洞扫描器
目录1. 项目设置创建漏洞扫描器配置包和环境网络扫描的伦理考量与风险2. 简单端口扫描器低级端口扫描实现使用net包对首次扫描进行测试3. 从这里开始改进:多线程扫描为何最初的版本运行缓慢添加线程支持多线程结果4. 添加服务检测服务旗标抓取(Banner Grabbing)实现识别正在运行的服务基本版本检测5. 漏洞检测实现编写简 ...
Go 语言递归函数实现方法及应用场景
目录Go 语言递归函数引言一、递归函数的基本概念1. 什么是递归?2. 递归的优点3. 递归的缺点二、Go 语言中的递归函数1. 递归函数的定义2. 递归基准条件3. 递归调用三、递归函数的应用场景1. 斐波那契数列2. 树形结构遍历四、递归函数的优化1. 尾递归优化2. 动态规划五、总结Go 语言递归函数
引言
递归函数是编程中一种重要 ...
go之gorm
1、简介
ORM
Object-Relationl Mapping, 它的作用是映射数据库和对象之间的关系,方便我们在实现数据库操作的时候不用去写复杂的sql语句,把对数据库的操作上升到对于对象的操作。
gorm
gorm就是基于Go语言实现的ORM库。
类似于Java生态里大家听到过的Mybatis、Hibernate、SpringData等。
Github
https://github.com/jinz ...
go debug
https://www.cnblogs.com/li-peng/p/8522592.html
0 转
通过log库输出日志,我们可以对程序进行异常分析和问题追踪。但有时候,我也希望能有更直接的程序跟踪及定位工具能够帮助我们更方便快捷的追踪、定位问题,最直观的感觉还是使用调试器。Linux平台下,原生的C/C++程序,我们往往使用gdb进行程序调试,切换到Golang ...
深度解密 Go 语言之 sync.map
工作中,经常会碰到并发读写 map 而造成 panic 的情况,为什么在并发读写的时候,会 panic 呢?因为在并发读写的情况下,map 里的数据会被写乱,之后就是 Garbage in, garbage out,还不如直接 panic 了。
目录是什么有什么用如何使用源码分析数据结构StoreLoadDeleteLoadOrStoreRange其他总结参考资料
是什么
Go 语言原生 ...
Go | Go 使用 consul 做服务发现
Go 使用 consul 做服务发现
目录Go 使用 consul 做服务发现前言一、目标二、使用步骤1. 安装 consul2. 服务注册定义接口具体实现测试用例3. 服务发现接口定义具体实现测试用例总结参考
前言
前面一章讲了微服务的一些优点和缺点,那如何做到
一、目标
二、使用步骤
1. 安装 consul
我们可以直接使用官方提供的二进制文件 ...
Go 1.14解决Go Modules模式下更新私有库问题
在Go 1.11之后推出了依赖包管理工具Go Modules之后,Go项目可以在 GOPATH 之外的位置创建,当项目中仅使用了公有库作为依赖时,使用 go get 或 go mod 更新依赖一切如初,没有任何问题。
由于Go Modules默认使用代理去更新依赖,所以当使用了私有仓库作为依赖时,Go更新依赖的相关命令将不再可 ...
Go语言GC实现原理及源码分析
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/475
本文使用的 Go 的源码1.15.7
介绍
三色标记法
三色标记法将对象的颜色分为了黑、灰、白,三种颜色。
黑色:该对象已经被标记过了,且该对象下的属性也全部都被标记过了(程序所需要的对象);
灰色:该对象已经被标记过了, ...
多图详解Go的互斥锁Mutex
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com
本文使用的go的源码时14.4
Mutex介绍
Mutex 结构体包含两个字段:
字段state:表示当前互斥锁的状态。
字段 sema:是个信号量变量,用来控制等待 goroutine 的阻塞休眠和唤醒。
type Mutex struct {
state int32
sema uint32
}
...
深入 Go 语言 defer 实现原理
转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https://www.luozhiyun.com/archives/523
本文使用的go的源码 1.15.7
介绍
defer 执行规则
多个defer的执行顺序为"后进先出LIFO "
package main
import (
"fmt"
)
func main() {
name := "Naveen"
fmt.Printf("Original String: %s\n", string(nam ...
从栈上理解 Go语言函数调用
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/518
本文使用的go的源码 1.15.7
前言
函数调用类型
这篇文章中函数调用(Function Calls)中的函数指的是 Go 中的任意可执行代码块。在 《Go 1.1 Function Calls》中提到了,在 Go 中有这四类函数:
top-level func
method with ...
从源码剖析Go语言基于信号抢占式调度
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/485
本文使用的go的源码15.7
这一次来讲讲基于信号式抢占式调度。
介绍
在 Go 的 1.14 版本之前抢占试调度都是基于协作的,需要自己主动的让出执行,但是这样是无法处理一些无法被抢占的边缘情况。例如:for 循环或者垃圾回收长时 ...
Python、CSharp、Go、Nextjs,不同框架的性能到底差多少?
前言
不知不觉居然12月了,最近琐事太多,产出并不高,继续整理一下近期的一些笔记吧。
上次我对部署 Django 框架时用的不同服务器进行对比测试,详见:不同Django服务器和部署方式的性能调研
在探索的过程中,我还对不同语言的框架进行了测试对比。
Django测试补充
对于上次的 Django 性能测试,还有一些补充的结论:
drf ...
Golang中SSE协议实现方法
目录Gin流式返回实现方法🧑💻 User🤖 Assistant1. 使用 Server-Sent Events (SSE)2. 手动控制响应流3. 结合上下文取消机制4. JSON 流式返回5. 文件流式下载6. 前端示例关键要点🧑💻 User🤖 Assistant响应格式解析Gin 框架实现代码示例更完整的实现(包含错误处理)前端接收示例关键技术点🧑💻 User🤖 Assist ...