小编Kas*_*kal的帖子

运行时错误:分配给nil映射中的条目

我试图生成一个地图,然后将其转换为yaml文件,如下所示:

uid :
      kasi:
        cn: Chaithra
        street: fkmp
      nandan:
        cn: Chaithra
        street: fkmp
      remya:
        cn: Chaithra
        street: fkmp
Run Code Online (Sandbox Code Playgroud)

我认为在创建地图时我遗漏了一些重要的东西.我的代码如下.

package main

import (
    "fmt"
    "gopkg.in/yaml.v2"
)

type T struct {
    cn     string
    street string
}

func main() {
    names := []string{"kasi", "remya", "nandan"}

    m := make(map[string]map[string]T, len(names))
    for _, name := range names {

        //t := T{cn: "Chaithra", street: "fkmp"}

        m["uid"][name] = T{cn: "Chaithra", street: "fkmp"}

    }
    fmt.Println(m)

    y, _ := yaml.Marshal(&m)

    fmt.Println(string(y))
    //fmt.Println(m, names)
}
Run Code Online (Sandbox Code Playgroud)

它给出以下错误:

panic: runtime error: …
Run Code Online (Sandbox Code Playgroud)

yaml map go

84
推荐指数
4
解决办法
8万
查看次数

在golang中访问GET参数net/http的问题

以下是我的go程序来提取GET参数.(URL:/ mysql?hostname = example.com)

package main

import (
        "net/http"
        "fmt"
        //"encoding/json"
        //"html"
        "github.com/kr/pretty"
);

func main(){
        http.HandleFunc("/", foo)
        http.ListenAndServe(":80", nil)
}

func foo(w http.ResponseWriter, r * http.Request){
        w.Header().Set("Server","A Go WebServer")

        w.Header().Set("Content-Type", "text/html")

        hostname := r.URL.Query()["hostname"]
        //w.Write([]byte(hostname[0]))
        fmt.Printf("%# v", pretty.Formatter(hostname[0]))


        w.Write([]byte(hostname))
}
Run Code Online (Sandbox Code Playgroud)

控制台上显示错误.

"example.com"2014/09/01 02:57:22 http: panic serving 172.17.92.14:49411: runtime error: index out of range
/usr/lib/go/src/pkg/net/http/server.go:576 (0x42dc41)
    _func_003: buf.Write(debug.Stack())
/home/michael/DPKG/golang/src/pkg/runtime/proc.c:1443 (0x40f8b5)
/home/michael/DPKG/golang/src/pkg/runtime/runtime.c:128 (0x410381)
/home/michael/DPKG/golang/src/pkg/runtime/runtime.c:85 (0x410228)
/root/go/src/api/main.go:34 (0x400d77)
    foo: fmt.Printf("%# v", pretty.Formatter(hostname[0]))
/usr/lib/go/src/pkg/net/http/server.go:690 (0x421bed)
    HandlerFunc.ServeHTTP: f(w, r)
/usr/lib/go/src/pkg/net/http/server.go:926 (0x422a6f)
    (*ServeMux).ServeHTTP: mux.handler(r).ServeHTTP(w, …
Run Code Online (Sandbox Code Playgroud)

web-services http go

24
推荐指数
2
解决办法
4万
查看次数

如何在Golang中创建一个守护进程?

有没有人在Golang写过一个deamon进程?你能告诉我怎么做吗?欢迎使用有用的链接.

fork daemon process go

18
推荐指数
1
解决办法
4万
查看次数

标签 统计

go ×3

daemon ×1

fork ×1

http ×1

map ×1

process ×1

web-services ×1

yaml ×1