首页 > 解决方案 > 当我试图访问 Go 中的常量时,为什么会出现堆栈溢出?

问题描述

我目前正在使用“Go 编程语言”作为我的指南来学习 Go。我试图让一个简单的包导入工作,但它总是导致堆栈溢出。我有一个简单的包,tempconv用于处理温度转换。它位于$GOPATH/src/goPractice/tempconv。该main软件包位于$GOPATH/src/goPractice/cf. 包tempconv由两个文件组成,“tempconv.go”和“conv.go”。

// tempconv.go

// Package tempconv performs Celsius and Fahrenheit conversions.

package tempconv

import "fmt"

type Celsius float64
type Fahrenheit float64

const (
    AbsoluteZeroC Celsius = -273.15
    FreezingC     Celsius = 0 
    BoilingC      Celsius = 100 
)

func (c Celsius) String() string    { return fmt.Sprintf("&g°C", c) }
func (f Fahrenheit) String() string { return fmt.Sprintf("%g°F", f) }

// conv.go

package tempconv

// CtoF converts a Celsius temperature to Fahrenheit.
func CToF(c Celsius) Fahrenheit { return Fahrenheit(c*9/5 + 32) }
func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5/9) }

最后,位于 中的“main.go”cf如下:

// main.go
// Cf converts its numeric argument to Celsius and Fahrenheit.

package main

import (
    "fmt"
    // "os"
    // "strconv"

    "goPractice/tempconv"
)

func main() {
    fmt.Print(tempconv.AbsoluteZeroC)
}

它应该做的远不止这些,但现在我只是在测试它是否可以打印一些像常量一样简单的东西。当我运行由 生成的二进制文件时go build main.go,出现错误。它遵循:

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc0201e0390 stack=[0xc0201e0000, 0xc0401e0000]
fatal error: stack overflow

runtime stack:
runtime.throw(0x4c308f, 0xe)
    /usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.newstack()
    /usr/local/go/src/runtime/stack.go:1034 +0x6ce
runtime.morestack()
    /usr/local/go/src/runtime/asm_amd64.s:449 +0x8f

goroutine 1 [running]:
runtime.heapBitsSetType(0xc007283520, 0xd0, 0xc8, 0x4b9140)
    /usr/local/go/src/runtime/mbitmap.go:947 +0xa4d fp=0xc0201e03a0 sp=0xc0201e0398 pc=0x41311d
runtime.mallocgc(0xd0, 0x4b9140, 0x1, 0x0)
    /usr/local/go/src/runtime/malloc.go:1066 +0x53e fp=0xc0201e0440 sp=0xc0201e03a0 pc=0x40b59e
runtime.newobject(0x4b9140, 0x0)
    /usr/local/go/src/runtime/malloc.go:1165 +0x38 fp=0xc0201e0470 sp=0xc0201e0440 pc=0x40bbe8
fmt.glob..func1(0x55fc20, 0x0)
    /usr/local/go/src/fmt/print.go:132 +0x2d fp=0xc0201e0490 sp=0xc0201e0470 pc=0x492ecd
sync.(*Pool).Get(0x55fc20, 0xc000580000, 0x7f20476cf108)
    /usr/local/go/src/sync/pool.go:148 +0xa6 fp=0xc0201e04d8 sp=0xc0201e0490 pc=0x46b656
fmt.newPrinter(0x0)
    /usr/local/go/src/fmt/print.go:137 +0x31 fp=0xc0201e0500 sp=0xc0201e04d8 pc=0x48aba1
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e0590, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:218 +0x26 fp=0xc0201e0558 sp=0xc0201e0500 pc=0x48af46
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957a90, 0x4a7820, 0xc005957a90)
    <autogenerated>:1 +0x99 fp=0xc0201e05b0 sp=0xc0201e0558 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007283450, 0x76, 0xc0201e0801)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e0820 sp=0xc0201e05b0 pc=0x48de52
fmt.(*pp).printArg(0xc007283450, 0x4a7820, 0xc005957a90, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e08b8 sp=0xc0201e0820 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007283450, 0x4c1c9b, 0x5, 0xc0201e0a30, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e09a0 sp=0xc0201e08b8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e0a30, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e09f8 sp=0xc0201e09a0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957a50, 0x4a7820, 0xc005957a50)
    <autogenerated>:1 +0x99 fp=0xc0201e0a50 sp=0xc0201e09f8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007283380, 0x76, 0xc0201e0d01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e0cc0 sp=0xc0201e0a50 pc=0x48de52
fmt.(*pp).printArg(0xc007283380, 0x4a7820, 0xc005957a50, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e0d58 sp=0xc0201e0cc0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007283380, 0x4c1c9b, 0x5, 0xc0201e0ed0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e0e40 sp=0xc0201e0d58 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e0ed0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e0e98 sp=0xc0201e0e40 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957a10, 0x4a7820, 0xc005957a10)
    <autogenerated>:1 +0x99 fp=0xc0201e0ef0 sp=0xc0201e0e98 pc=0x4931c9
fmt.(*pp).handleMethods(0xc0072832b0, 0x76, 0xc0201e1201)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e1160 sp=0xc0201e0ef0 pc=0x48de52
fmt.(*pp).printArg(0xc0072832b0, 0x4a7820, 0xc005957a10, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e11f8 sp=0xc0201e1160 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc0072832b0, 0x4c1c9b, 0x5, 0xc0201e1370, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e12e0 sp=0xc0201e11f8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e1370, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e1338 sp=0xc0201e12e0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc0059579d0, 0x4a7820, 0xc0059579d0)
    <autogenerated>:1 +0x99 fp=0xc0201e1390 sp=0xc0201e1338 pc=0x4931c9
fmt.(*pp).handleMethods(0xc0072831e0, 0x76, 0xc0201e1601)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e1600 sp=0xc0201e1390 pc=0x48de52
fmt.(*pp).printArg(0xc0072831e0, 0x4a7820, 0xc0059579d0, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e1698 sp=0xc0201e1600 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc0072831e0, 0x4c1c9b, 0x5, 0xc0201e1810, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e1780 sp=0xc0201e1698 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e1810, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e17d8 sp=0xc0201e1780 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957990, 0x4a7820, 0xc005957990)
    <autogenerated>:1 +0x99 fp=0xc0201e1830 sp=0xc0201e17d8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007283110, 0x76, 0xc0201e1b01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e1aa0 sp=0xc0201e1830 pc=0x48de52
fmt.(*pp).printArg(0xc007283110, 0x4a7820, 0xc005957990, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e1b38 sp=0xc0201e1aa0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007283110, 0x4c1c9b, 0x5, 0xc0201e1cb0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e1c20 sp=0xc0201e1b38 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e1cb0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e1c78 sp=0xc0201e1c20 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957950, 0x4a7820, 0xc005957950)
    <autogenerated>:1 +0x99 fp=0xc0201e1cd0 sp=0xc0201e1c78 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007283040, 0x76, 0xc0201e1f01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e1f40 sp=0xc0201e1cd0 pc=0x48de52
fmt.(*pp).printArg(0xc007283040, 0x4a7820, 0xc005957950, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e1fd8 sp=0xc0201e1f40 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007283040, 0x4c1c9b, 0x5, 0xc0201e2150, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e20c0 sp=0xc0201e1fd8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e2150, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e2118 sp=0xc0201e20c0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957910, 0x4a7820, 0xc005957910)
    <autogenerated>:1 +0x99 fp=0xc0201e2170 sp=0xc0201e2118 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282f70, 0x76, 0xc0201e2401)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e23e0 sp=0xc0201e2170 pc=0x48de52
fmt.(*pp).printArg(0xc007282f70, 0x4a7820, 0xc005957910, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e2478 sp=0xc0201e23e0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282f70, 0x4c1c9b, 0x5, 0xc0201e25f0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e2560 sp=0xc0201e2478 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e25f0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e25b8 sp=0xc0201e2560 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc0059578d0, 0x4a7820, 0xc0059578d0)
    <autogenerated>:1 +0x99 fp=0xc0201e2610 sp=0xc0201e25b8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282ea0, 0x76, 0xc0201e2901)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e2880 sp=0xc0201e2610 pc=0x48de52
fmt.(*pp).printArg(0xc007282ea0, 0x4a7820, 0xc0059578d0, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e2918 sp=0xc0201e2880 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282ea0, 0x4c1c9b, 0x5, 0xc0201e2a90, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e2a00 sp=0xc0201e2918 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e2a90, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e2a58 sp=0xc0201e2a00 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957890, 0x4a7820, 0xc005957890)
    <autogenerated>:1 +0x99 fp=0xc0201e2ab0 sp=0xc0201e2a58 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282dd0, 0x76, 0xc0201e2d01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e2d20 sp=0xc0201e2ab0 pc=0x48de52
fmt.(*pp).printArg(0xc007282dd0, 0x4a7820, 0xc005957890, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e2db8 sp=0xc0201e2d20 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282dd0, 0x4c1c9b, 0x5, 0xc0201e2f30, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e2ea0 sp=0xc0201e2db8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e2f30, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e2ef8 sp=0xc0201e2ea0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957850, 0x4a7820, 0xc005957850)
    <autogenerated>:1 +0x99 fp=0xc0201e2f50 sp=0xc0201e2ef8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282d00, 0x76, 0xc0201e3201)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e31c0 sp=0xc0201e2f50 pc=0x48de52
fmt.(*pp).printArg(0xc007282d00, 0x4a7820, 0xc005957850, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e3258 sp=0xc0201e31c0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282d00, 0x4c1c9b, 0x5, 0xc0201e33d0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e3340 sp=0xc0201e3258 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e33d0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e3398 sp=0xc0201e3340 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957810, 0x4a7820, 0xc005957810)
    <autogenerated>:1 +0x99 fp=0xc0201e33f0 sp=0xc0201e3398 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282c30, 0x76, 0xc0201e3701)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e3660 sp=0xc0201e33f0 pc=0x48de52
fmt.(*pp).printArg(0xc007282c30, 0x4a7820, 0xc005957810, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e36f8 sp=0xc0201e3660 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282c30, 0x4c1c9b, 0x5, 0xc0201e3870, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e37e0 sp=0xc0201e36f8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e3870, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e3838 sp=0xc0201e37e0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc0059577d0, 0x4a7820, 0xc0059577d0)
    <autogenerated>:1 +0x99 fp=0xc0201e3890 sp=0xc0201e3838 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282b60, 0x76, 0xc0201e3b01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e3b00 sp=0xc0201e3890 pc=0x48de52
fmt.(*pp).printArg(0xc007282b60, 0x4a7820, 0xc0059577d0, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e3b98 sp=0xc0201e3b00 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282b60, 0x4c1c9b, 0x5, 0xc0201e3d10, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e3c80 sp=0xc0201e3b98 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e3d10, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e3cd8 sp=0xc0201e3c80 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957790, 0x4a7820, 0xc005957790)
    <autogenerated>:1 +0x99 fp=0xc0201e3d30 sp=0xc0201e3cd8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282a90, 0x76, 0xc0201e4001)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e3fa0 sp=0xc0201e3d30 pc=0x48de52
fmt.(*pp).printArg(0xc007282a90, 0x4a7820, 0xc005957790, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e4038 sp=0xc0201e3fa0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282a90, 0x4c1c9b, 0x5, 0xc0201e41b0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e4120 sp=0xc0201e4038 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e41b0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e4178 sp=0xc0201e4120 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957750, 0x4a7820, 0xc005957750)
    <autogenerated>:1 +0x99 fp=0xc0201e41d0 sp=0xc0201e4178 pc=0x4931c9
fmt.(*pp).handleMethods(0xc0072829c0, 0x76, 0xc0201e4401)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e4440 sp=0xc0201e41d0 pc=0x48de52
fmt.(*pp).printArg(0xc0072829c0, 0x4a7820, 0xc005957750, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e44d8 sp=0xc0201e4440 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc0072829c0, 0x4c1c9b, 0x5, 0xc0201e4650, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e45c0 sp=0xc0201e44d8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e4650, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e4618 sp=0xc0201e45c0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957710, 0x4a7820, 0xc005957710)
    <autogenerated>:1 +0x99 fp=0xc0201e4670 sp=0xc0201e4618 pc=0x4931c9
fmt.(*pp).handleMethods(0xc0072828f0, 0x76, 0xc0201e4901)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e48e0 sp=0xc0201e4670 pc=0x48de52
fmt.(*pp).printArg(0xc0072828f0, 0x4a7820, 0xc005957710, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e4978 sp=0xc0201e48e0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc0072828f0, 0x4c1c9b, 0x5, 0xc0201e4af0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e4a60 sp=0xc0201e4978 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e4af0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e4ab8 sp=0xc0201e4a60 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc0059576d0, 0x4a7820, 0xc0059576d0)
    <autogenerated>:1 +0x99 fp=0xc0201e4b10 sp=0xc0201e4ab8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282820, 0x76, 0xc0201e4e01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e4d80 sp=0xc0201e4b10 pc=0x48de52
fmt.(*pp).printArg(0xc007282820, 0x4a7820, 0xc0059576d0, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e4e18 sp=0xc0201e4d80 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282820, 0x4c1c9b, 0x5, 0xc0201e4f90, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e4f00 sp=0xc0201e4e18 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e4f90, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e4f58 sp=0xc0201e4f00 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957690, 0x4a7820, 0xc005957690)
    <autogenerated>:1 +0x99 fp=0xc0201e4fb0 sp=0xc0201e4f58 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282750, 0x76, 0xc0201e5201)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e5220 sp=0xc0201e4fb0 pc=0x48de52
fmt.(*pp).printArg(0xc007282750, 0x4a7820, 0xc005957690, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e52b8 sp=0xc0201e5220 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282750, 0x4c1c9b, 0x5, 0xc0201e5430, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e53a0 sp=0xc0201e52b8 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e5430, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e53f8 sp=0xc0201e53a0 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957650, 0x4a7820, 0xc005957650)
    <autogenerated>:1 +0x99 fp=0xc0201e5450 sp=0xc0201e53f8 pc=0x4931c9
fmt.(*pp).handleMethods(0xc007282680, 0x76, 0xc0201e5701)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e56c0 sp=0xc0201e5450 pc=0x48de52
fmt.(*pp).printArg(0xc007282680, 0x4a7820, 0xc005957650, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e5758 sp=0xc0201e56c0 pc=0x48e3f4
fmt.(*pp).doPrintf(0xc007282680, 0x4c1c9b, 0x5, 0xc0201e58d0, 0x1, 0x1)
    /usr/local/go/src/fmt/print.go:1146 +0x8fe fp=0xc0201e5840 sp=0xc0201e5758 pc=0x49243e
fmt.Sprintf(0x4c1c9b, 0x5, 0xc0201e58d0, 0x1, 0x1, 0x4aa420, 0x42d456)
    /usr/local/go/src/fmt/print.go:219 +0x66 fp=0xc0201e5898 sp=0xc0201e5840 pc=0x48af86
goPractice/tempconv.Celsius.String(...)
    /home/myName/Developer/go/src/goPractice/tempconv/tempconv.go:16
goPractice/tempconv.(*Celsius).String(0xc005957610, 0x4a7820, 0xc005957610)
    <autogenerated>:1 +0x99 fp=0xc0201e58f0 sp=0xc0201e5898 pc=0x4931c9
fmt.(*pp).handleMethods(0xc0072825b0, 0x76, 0xc0201e5c01)
    /usr/local/go/src/fmt/print.go:630 +0x302 fp=0xc0201e5b60 sp=0xc0201e58f0 pc=0x48de52
fmt.(*pp).printArg(0xc0072825b0, 0x4a7820, 0xc005957610, 0x76)
    /usr/local/go/src/fmt/print.go:713 +0x1e4 fp=0xc0201e5bf8 sp=0xc0201e5b60 pc=0x48e3f4

我的错误可能是微不足道的,但我无法真正破译堆栈跟踪。有人可以帮我指出正确的方向吗?

标签: gostack-overflow

解决方案


推荐阅读