1.朴素方法 在函数起始位置计算当前时间,在函数结束位置算出耗时。 package main import ( "fmt" "time" ) func sum(n int) int { startT := time.Now() //计算当前时间 total := 0 for i:=1; i <= n ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-11-02 19:25:00
                            
                                795阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一、pprof 在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况。 Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库。 runtime/pprof:采集程序(非server)的运行数据进行分析 net/http            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-03-15 23:51:00
                            
                                255阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            编译具有可调试的执行程序需要注意下面命令。 go build 编译时需要增加 -gcflags=all="-N -l" 指令来关闭内联优化,方便接下来的调试。 若是 MacOS,在 go build 编译时需要增加 -ldflags='-compressdwarf=false' 指令。 若不禁止,则 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-29 23:35:00
                            
                                692阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            golang debug1: 本地调试2: 附加到进程3: 远程调试            
                
         
            
            
            
            说明:作为一门静态语言,似乎支持调试是必须的,而且,Go初学者喜欢问的问题也是:大家都用什么IDE?怎么调试?其实,Go是为多核和并发而生,真正的项目,你用单步调试,原本没问题的,可能会调出有问题。更好的调试方式是跟PHP这种语言一样,用打印的方式(日志或print)。当然,简单的小程序,如果单步调试,可以看到一些内部的运行机理,对于学习还是挺有好处的。下面介绍一下用GDB调试Go程序:(目前ID            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2017-06-09 16:20:28
                            
                                2153阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            gslang背景知识gslang是采用go语言编写的RPC描述语言,最初它被用来描述gscluster网络服之间的接口调用契约;而gscluster项目本身是我在tap4fun时开发的一个游戏 服务端框架,所以能够看到gscluster里面有很多与游戏相关的概念。但是框架本身是为mico-service 而生的,所以你可以将它应用到任何你觉得合适的地方,不必局限于游戏服务器。gslang是一个完整            
                
         
            
            
            
            在这里我们会介绍两种部署方式:直接构建镜像分阶段构建镜像方式一:直接构建镜像    首先在我们的项目根目录下编写Dockerfile文件,文件名称就是Dockerfile,没有后缀名嗷!!     具体请参考如下内容:FROM golang:alpine
# 为我们的镜像设置必要的环境变量
# GO111MODULE            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 01:54:56
                            
                                231阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            有些函数执行前后,需要加日志、记录耗时、还要处理panic,都是些重复性的东西。 所以浪费时间。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-30 17:02:54
                            
                                142阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            简介性能分析是优化代码不可避免的一步。而拥有高效清晰的性能分析工具则能让我们事半功倍。 PProf就是一款Golang提供的强大代码性能分析,能够非常方便的监控代码运行性能。 这里简单的介绍pprof两种使用方式使用net/http/pprof 包 更适合整体分析运行go test时收集相关信息 更适合细节函数分析性能数据采集1.net/http/pprof 包 net/http/pprof 能将            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-22 08:08:44
                            
                                189阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录前言一、获取一个可执行的项目1、拉取项目2、配置二、编写Dockerfile文件1、作用2、说明1)FROM2)WORKDIR3)COPY4)RUN5)EXPOSE6)ENTRYPOINT三、构建Docker镜像四、验证镜像五、创建并运行一个新容器六、MySQL1、拉取镜像2、创建并运行一个MySQL容器3、连接数据库七、关联Golang项目和MySQL1、删除原来的项目镜像2、修改配置文件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-17 15:06:45
                            
                                132阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-11-20 14:50:03
                            
                                1024阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            1 安装 2 如果想运行哪个项目下的main.go,就单独打开它所在的文件夹运行,如果打开的是它的上级文件夹,会出问题,直接右键运行main.go,此时不能使用相对路径,可能出现文件找不的情况,3 调试按钮中没有Force Run to Cursor,run to cursor是直接运行到光标处,Force Run to Cursor值跳过中间的断点,强制直接执行到光标处,goland好像默认不显            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-09 19:17:20
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 在Docker环境中调试Golang应用程序
随着容器化技术的发展,Docker已成为开发和部署应用程序的重要工具。在这个过程中,调试Golang应用程序的需求也日益增加。本文将介绍如何在Docker环境中调试Golang应用,包括基本的Docker命令、如何使用Dockerfile构建Golang应用程序,以及如何在容器中进行调试。
## 基本概念
首先,了解一些基本概念是很重要的。D            
                
         
            
            
            
             Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。  线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。  安装Devle  安装Devle非常简单,直接运行go  get 即            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 16:19:21
                            
                                202阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Spring Boot 项目整体启动耗时调试
在现代软件开发中,快速启动与响应能力是提升用户体验的关键因素之一。然而,Spring Boot 项目的启动时间往往是开发者需关注的重要指标。若应用的启动时间过长,可能会影响到持续集成、开发效率,甚至容器的管理和维护。本文将探讨如何调试和优化 Spring Boot 项目的启动时间,并提供一些实际的示例和解决方案。
## 为什么需要关注启动时间?            
                
         
            
            
            
            dlv 是 Delve 的命令行界面,Delve 是一个专门为 Go 语言设计的调试器,它支持调试运行中的 Go 程序,也支持分析 core dump 文件。以下是使用 dlv 调试 Go 程序生成的 core dump 的基本步骤: 1.编译 Go 程序: 编译你的 Go 程序 go build            
                
         
            
            
            
            jprofiler 安装调试用法,查看方法耗时            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-08 14:02:04
                            
                                1254阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            类型断言作用:用于提取一个接口底层值。语法:i.(T), 用来获取混合类型是T的接口的底层值,让我们来看一下例子:package main
import (  
    "fmt"
)
func assert(i interface{}) {  
    s := i.(int) //get the underlying int value from i
    fmt.Println(s)
            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-29 22:16:43
                            
                                157阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.安装Go 至C:\Program Files\Go下;安装VScode至任意位置;创建go项目所在文件夹,E:\go,并在该文件夹下创建bin、pkg、src文件夹;bin用于存储二进制可执行文件,pkg存储包文件,src存储项目源码文件; 2.配置环境变量GOPATH(go项目所在的文件夹)、 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-17 09:55:00
                            
                                1262阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            最近准备写一些关于golang的技术博文,本文是之前在GitHub上看到的golang技术译文,感觉很有帮助,先给各位读者分享一下。前言Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-05 18:24:47
                            
                                16阅读