亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對(duì)Golang中的runtime.Caller使用說明

 更新時(shí)間:2020年12月23日 16:38:00   作者:思維的深度  
這篇文章主要介紹了對(duì)Golang中的runtime.Caller使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

如下所示:

func Caller(skip int) (pc uintptr, file string, line int, ok bool)

參數(shù):skip是要提升的堆棧幀數(shù),0-當(dāng)前函數(shù),1-上一層函數(shù),....

返回值:

pc是uintptr這個(gè)返回的是函數(shù)指針

file是函數(shù)所在文件名目錄

line所在行號(hào)

ok 是否可以獲取到信息

示例:

我們分別打印skip為0-3的相關(guān)信息

package main 
import (
 "fmt"
 "runtime"
)
 
func main() {
 for i := 0 ; i< 4; i++ {
 test(i)
 }
}
 
func test(skip int) {
 call(skip)
}
 
func call(skip int) {
 pc,file,line,ok := runtime.Caller(skip)
 pcName := runtime.FuncForPC(pc).Name() //獲取函數(shù)名
 fmt.Println(fmt.Sprintf("%v %s %d %t %s",pc,file,line,ok,pcName))
}

結(jié)果:

4887700 D:/GoProject/src /test/test5.go 19 true main.call
4887585 D:/GoProject/src/ test/test5.go 15 true main.test
4887481 D:/GoProject/src /test/test5.go 10 true main.main
4383501 C:/Go/src/runtime/proc.go 198 true runtime.main

分析結(jié)果可以看到

0-3分別上當(dāng)前函數(shù),當(dāng)前函數(shù)的上一個(gè)caller,....

補(bǔ)充:golang打印所有的runtime調(diào)用棧

我就廢話不多說了,大家還是直接看代碼吧~

import "runtime"
buf := make([]byte, 1 << 20)
runtime.Stack(buf, true)
fmt.Printf("\n%s", buf)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • golang使用sort接口實(shí)現(xiàn)排序示例

    golang使用sort接口實(shí)現(xiàn)排序示例

    這篇文章主要介紹了golang使用sort接口實(shí)現(xiàn)排序的方法,簡(jiǎn)單分析了sort接口的功能并實(shí)例演示了基于sort接口的排序?qū)崿F(xiàn)方法,需要的朋友可以參考下
    2016-07-07
  • golang post請(qǐng)求常用的幾種方式小結(jié)

    golang post請(qǐng)求常用的幾種方式小結(jié)

    這篇文章主要介紹了golang post請(qǐng)求常用的幾種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • golang中兩個(gè)協(xié)程交替打印數(shù)字和字母的實(shí)現(xiàn)

    golang中兩個(gè)協(xié)程交替打印數(shù)字和字母的實(shí)現(xiàn)

    這篇文章給大家介紹了golang中兩個(gè)協(xié)程交替打印數(shù)字和字母的實(shí)現(xiàn),文中通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • 使用Go語言編寫簡(jiǎn)潔代碼的最佳實(shí)踐

    使用Go語言編寫簡(jiǎn)潔代碼的最佳實(shí)踐

    簡(jiǎn)潔的代碼對(duì)于創(chuàng)建可維護(hù)、可閱讀和高效的軟件至關(guān)重要,Go 是一種強(qiáng)調(diào)簡(jiǎn)單和代碼整潔的語言,在本文中,我們將結(jié)合代碼示例,探討編寫簡(jiǎn)潔 Go 代碼的最佳實(shí)踐,需要的朋友可以參考下
    2023-09-09
  • golang的時(shí)區(qū)和神奇的time.Parse的使用方法

    golang的時(shí)區(qū)和神奇的time.Parse的使用方法

    這篇文章主要介紹了golang的時(shí)區(qū)和神奇的time.Parse的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 輕松入門:使用Golang開發(fā)跨平臺(tái)GUI應(yīng)用

    輕松入門:使用Golang開發(fā)跨平臺(tái)GUI應(yīng)用

    Golang是一種強(qiáng)大的編程語言,它的并發(fā)性和高性能使其成為開發(fā)GUI桌面應(yīng)用的理想選擇,Golang提供了豐富的標(biāo)準(zhǔn)庫和第三方庫,可以輕松地創(chuàng)建跨平臺(tái)的GUI應(yīng)用程序,通過使用Golang的GUI庫,開發(fā)人員可以快速構(gòu)建具有豐富用戶界面和交互功能的應(yīng)用程序,需要的朋友可以參考下
    2023-10-10
  • 解決golang.org不能訪問的問題(推薦)

    解決golang.org不能訪問的問題(推薦)

    這篇文章主要介紹了解決golang.org不能訪問的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • go實(shí)現(xiàn)thrift的網(wǎng)絡(luò)傳輸性能及需要注意問題示例解析

    go實(shí)現(xiàn)thrift的網(wǎng)絡(luò)傳輸性能及需要注意問題示例解析

    這篇文章主要為大家介紹了go實(shí)現(xiàn)thrift的網(wǎng)絡(luò)傳輸性能及需要注意問題示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • go并發(fā)利器sync.Once使用示例詳解

    go并發(fā)利器sync.Once使用示例詳解

    這篇文章主要為大家介紹了go并發(fā)利器sync.Once使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • golang 通用Contains方法分享

    golang 通用Contains方法分享

    這篇文章主要介紹了golang 通用Contains方法分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評(píng)論