dounao2829 2018-12-26 10:49
浏览 323
已采纳

在Golang中使用全局列表变量。 收到“使用不带选择器的包裹清单”

I have a global linked list named rooms. It is going to store the names of all the rooms this user enters in. In my function create I am trying to reference this list named rooms. I instantiate the list in my main function. When I try to add an item to the list "rooms" I receive the error "Use of package list without selector".

I would like to be able to add a string to my list named rooms from within my create function.


package main

import (
    "net"
    "fmt"
    "bufio"
    "os"
    "container/list"
)

var rooms list

func create() string{
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("Name the Chatroom");
    input, _ := reader.ReadString('
');
    _ = rooms.PushFront(input);
    return "Joined room " + input;
}   

func main() {

    rooms := list.New()
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("Enter a name")
    name, _ := reader.ReadString('
')

    // connect to this socket
    conn, _ := net.Dial("tcp", "127.0.0.1:8081")
    for { 
        // read in input from stdin
        reader := bufio.NewReader(os.Stdin)
        fmt.Print("Text to send: ")
        text, _ := reader.ReadString('
')
        // send to socket
        fmt.Fprintf(conn, text + "
")
        // listen for reply
        message, _ := bufio.NewReader(conn).ReadString('
')
        fmt.Print("Message from server: "+message)
    }
}  
  • 写回答

2条回答 默认 最新

  • dt2002 2018-12-26 11:03
    关注

    The type for rooms should be *list.List, a pointer to List type from package list.

    Change var rooms list to var rooms *list.List

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制