From d19d669661975aeb8bba8d6ef28d1b02a36f378f Mon Sep 17 00:00:00 2001 From: Xargin Date: Mon, 12 Dec 2016 16:17:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=A6=E8=89=B2=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch5/ch5-02.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch5/ch5-02.md b/ch5/ch5-02.md index 9c7fd92..0f6a63f 100644 --- a/ch5/ch5-02.md +++ b/ch5/ch5-02.md @@ -127,7 +127,7 @@ func outline(stack []string, n *html.Node) { } ``` -有一点值得注意:outline有入栈操作,但没有相对应的出栈操作。当outline调用自身时,被调用者接收的是stack的拷贝。被调用者的入栈操作,修改的是stack的拷贝,而不是调用者的stack,因对当函数返回时,调用者的stack并未被修改。 +有一点值得注意:outline有入栈操作,但没有相对应的出栈操作。当outline调用自身时,被调用者接收的是stack的拷贝。被调用者对stack的元素追加操作,修改的是stack的拷贝,其可能会修改slice底层的数组甚至是申请一块新的内存空间进行扩容;但这个过程并不会修改调用方的stack。因此当函数返回时,调用方的stack与其调用自身之前完全一致。 下面是 https://golang.org 页面的简要结构: