小编Che*_*vek的帖子

Go(golang)包含多个文件夹的包

Go(golang)是否有可能包含来自不同文件夹的几个.go文件的包?

我试图在主文件夹中创建一个子文件夹,编译器说它找不到定义("未定义"错误).当所有文件都在同一文件夹中时,编译不会出错.

谢谢.

directory file package go

7
推荐指数
1
解决办法
2291
查看次数

在结构中设置值失败

我在结构中设置了值,但没有设置.因此调用这些方法,而不是并行调用.怎么可能?这是golang,忘了说.

如果我在"start"方法(而不是"init"方法)中将代码更改为设置值,则它可以正常工作; 但是"init"方法中的设置值失败.看起来很奇怪.

package main

import (
    "log"
    "net/http"
    "time"
)

type tServer struct {
    ipAddress string
    port      string
    server    http.Server
}

var server tServer

func main() {
    server.ipAddress = "0.0.0.0"
    server.port = "12345"
    server.init()
    server.start()
    time.Sleep(time.Second * 5)
}

func (srv tServer) init() {
    srv.server.Addr = srv.ipAddress + ":" + srv.port
    log.Println("srv.server.Addr=", srv.server.Addr) ////////////////////
}

func (srv tServer) start() {
    log.Println("srv.server.Addr=", srv.server.Addr) ////////////////////
    go srv.startServerRoutine()
}

func (srv tServer) startServerRoutine() {
    log.Println("Server started at", srv.server.Addr) //
    err := srv.server.ListenAndServe() …
Run Code Online (Sandbox Code Playgroud)

struct http go

1
推荐指数
1
解决办法
69
查看次数

函数返回后不改变指针

语言是'Go'('Golang')。

该函数initApp正在接收一个指向对象的指针(Go 中的“结构”)。在函数内部,我创建了一个新的对象指针并初始化了对象的值。打印和调试器都表明在函数返回之前一切都很好。但是在返回之后,作为函数参数的指针具有与函数调用之前相同的空值。

为什么呢?

代码在这里:https : //pastebin.com/0Gww2CQC

// ptr.go.

package main

import "fmt"

type ClassX struct {
    Name string
    Age  int
}

func main() {
    var obj *ClassX
    initApp(obj)
    fmt.Println(obj)
    return
}

func initApp(x *ClassX) {
    tmp := NewClassXObject()
    x = tmp
    fmt.Println("tmp:", tmp)
    fmt.Println("x:", x)
}

func NewClassXObject() *ClassX {
    x := new(ClassX)
    x.init()
    return x
}

func (o *ClassX) init() {
    o.Age = 123
    o.Name = "John"
}
Run Code Online (Sandbox Code Playgroud)

输出如下:

tmp: &{John 123} x: &{John 123} …

pointers return reference function go

0
推荐指数
1
解决办法
1492
查看次数

标签 统计

go ×3

directory ×1

file ×1

function ×1

http ×1

package ×1

pointers ×1

reference ×1

return ×1

struct ×1