golang web编程教程代码不能正常工作

时间:2014-04-26 03:56:17

标签: web-applications web methods struct go

我正在尝试学习Go for web programming。我一直在学习这门语言,最近我在go官方网站上开始了this教程。

到目前为止,我仍然坚持使用Data Structures部分。我已经逐字复制了代码。

以下是代码:

package main

import (
        "fmt"
        "io/ioutil"
)

type Page struct {
        Title string
        Body []byte
}

func (p *Page) save() (error) {
        filename := p.Title + ".txt"
        return ioutil.WriteFile(filename, p.Body, 0600)
}

func loadPage(title string) (*Page, error) {
        filename := title + ".txt"
        body, err := ioutil.ReadFile(filename)
        if err != nil {
                return nil, err
        }

        return &Page{Title: title, Body: body}, nil
}

func main() {
        p1 := &Page{Title: "TestPage", Body: []byte("WHADDUP!")}
        p1.save
        p2, _ := loadPage("TestPage")
        fmt.Println(string(p2.Body))
}

正在运行$ go build wiki.go会给我以下内容:

# command-line arguments
./main.go:30: p1.save evaluated but not used

我错了什么?在我看来,我已经逐字复制了代码,除了保存到文件中的字符串。

1 个答案:

答案 0 :(得分:3)

p1.save是一个函数,所以,这样编写,它没有做任何事情,这就是编译器是"警告"你呢(但是使用Go,可能是一个警告实际上是一个错误并阻止编译)。

您可能想要的是p1.save(),与p1.save不同,它实际上会运行该功能。