![e0cf7afb79d66dc1b1fc6f6058f547ec.png](https://img-blog.csdnimg.cn/img_convert/e0cf7afb79d66dc1b1fc6f6058f547ec.png)
这篇文章介绍了如何为函数和方法打印 SSA 输出。
- 来源:https://linux.cn/article-12350-1.html
- 作者:Dave Cheney
- 译者:geekpi
(本文字数:1684,阅读时长大约:2 分钟)
Go 编译器的 SSA 后端包含一种工具,可以生成编译阶段的 HTML 调试输出。这篇文章介绍了如何为函数和方法打印 SSA 输出。
让我们从一个包含函数、值方法和指针方法的示例程序开始:
package mainimport ( "fmt")type Numbers struct { vals []int}func (n *Numbers) Add(v int) { n.vals = append(n.vals, v)}func (n Numbers) Average() float64 { sum := 0.0 for _, num := range n.vals { sum += float64(num) } return sum / float64(len(n.vals))}func main() { var numbers Numbers numbers.Add(200) numbers.Add(43) numbers.Add(-6)