gpt4 book ai didi

web-applications - golang 网络编程教程代码不起作用

转载 作者:IT王子 更新时间:2023-10-29 02:00:03 25 4
gpt4 key购买 nike

我正在尝试学习用于网络编程的 Go。我一直在学习这门语言,最近我开始了 this Go 语言官方网站上的教程。

到目前为止,我一直停留在数据结构部分。我已经逐字复制代码。

代码如下:

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

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

最佳答案

p1.save 是一个函数,所以,像这样写,它什么都不做,这是编译器“警告”你的(但是对于 Go,什么可能是警告实际上是一个错误并阻止了编译)。

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

关于web-applications - golang 网络编程教程代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23306456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com