我正在尝试建立一个非常简单的Web服务器,用户访问一个站点并写一个字符串和一个int.然后我想保存这两个输入,我的想法是将它做成一个文本文件,也可以显示在浏览器:.../textfile /
我不知道SO上的标准是关于可以发布多少代码的规范,但这是我到目前为止的内容:
type Person struct {
name string
hours int
}
const filename string = "timelister"
func upload(w http.ResponseWriter, r *http.Request) {
t, _ := template.ParseFiles("upload.html")
t.Execute(w, nil)
}
func (person *Person) open() {
newFilename := filename + ".txt"
_, err := os.OpenFile(newFilename, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0666)
if err != nil {
log.Fatal("Open Filename: ", err)
}
}
func returnInput() //want to implement this
func saveInput() //want to implemet this
func main() {
http.HandleFunc("/", upload)
http.ListenAndServe(":8080", nil)
}
Run Code Online (Sandbox Code Playgroud)
我的HTML表单:(没有全部格式化)
Name: <input …
Run Code Online (Sandbox Code Playgroud) 我试图从键盘输入,然后将其存储在文本文件中,但我对如何实际操作有点困惑.
我目前的代码如下:
// reads the file txt.txt
bs, err := ioutil.ReadFile("text.txt")
if err != nil {
panic(err)
}
// Prints out content
textInFile := string(bs)
fmt.Println(textInFile)
// Standard input from keyboard
var userInput string
fmt.Scanln(&userInput)
//Now I want to write input back to file text.txt
//func WriteFile(filename string, data []byte, perm os.FileMode) error
inputData := make([]byte, len(userInput))
err := ioutil.WriteFile("text.txt", inputData, )
Run Code Online (Sandbox Code Playgroud)
"os"和"io"包中有很多功能.我真的很困惑我实际应该为此目的使用哪一个.
我也很困惑WriteFile函数中的第三个参数应该是什么.在文档中说"perm os.FileMode"类型,但由于我是编程和Go的新手,我有点无能为力.
有没有人有关于如何程序的任何提示?玛丽,提前谢谢
我正在尝试创建一个简单的程序来学习Go中的频道.但我遇到了死锁错误,我无法弄明白
package main
import (
"fmt"
"time"
)
func printer(c chan int) {
for i := 0; i < 10; i++ {
c <- i
time.Sleep(time.Second)
}
}
func reciever(c chan int) {
for {
recievedMsg := <-c
fmt.Println(recievedMsg)
}
}
func main() {
newChanel := make(chan int)
printer(newChanel)
reciever(newChanel)
}
Run Code Online (Sandbox Code Playgroud)
我最初的想法是关于睡眠功能,但即使我不包括这个,我仍然遇到这个错误并退出消息.任何人都可以提供一些如何解决这个问题的提示吗?
提前致谢
我是新的线程编程和在C中学习线程编程的阶段.
这个简单的代码编译并运行,但我认为它会打印出"hello world"和8号,但它没有.有人知道这个的原因吗?
void *threadfunc(void *input_data){
printf("Hello World");
long tid;
tid=(long)input_data;
printf("thread ID: &d", tid);
return NULL;
sleep(1);
}
int main(){
long t = 8;
int t1;
pthread_t thread_obj;
t1= pthread_create(&thread_obj, NULL,threadfunc, (void*)t);
}*
Run Code Online (Sandbox Code Playgroud)
提前致谢!:)