相关疑难解决方法(0)

什么是'.' Go导入语句中的(点或句点)吗?

在Go教程中,以及我看过的大多数Go代码,包都是这样导入的:

import (
    "fmt"
    "os"
    "launchpad.net/lpad"
    ...
)
Run Code Online (Sandbox Code Playgroud)

但是在http://bazaar.launchpad.net/~niemeyer/lpad/trunk/view/head:/session_test.go中,gocheck包导入了一个.(句点):

import (
    "http"
    . "launchpad.net/gocheck"
    "launchpad.net/lpad"
    "os"    
)
Run Code Online (Sandbox Code Playgroud)

.(期间)有什么意义?

import go

128
推荐指数
3
解决办法
2万
查看次数

如何构建Go应用程序以生成多个二进制文件?

我正在创建三个非常相似的应用程序,但每个应用程序将应用不同的逻辑.我不知道如何最好地构建它以避免重复代码.

所有应用程序都有以下共同点: - 读取和解析配置 - 设置SQL数据库连接 - 收集统计信息 - 从STDIN读取

每个应用程序将对从STDIN读取的数据应用不同的逻辑.

这会被认为是可接受的吗?将所有常用代码放在main.go中,然后构建为"go build -o bin/app1 main.go app1.go"等等 - 只为每个二进制文件提供特定于应用程序的逻辑来构建?

main.go:

func main() {
    // db connection
    // stats worker
    // read from stdin

    proccessLine(line)
}
Run Code Online (Sandbox Code Playgroud)

app1.go:

func processLine(line string) {
    // logic for app 1
}
Run Code Online (Sandbox Code Playgroud)

app2.go:

func processLine(line string) {
    // logic for app 2
}
Run Code Online (Sandbox Code Playgroud)

等等

go

8
推荐指数
2
解决办法
2169
查看次数

在多包中使用logger / configs的最佳做法可提高Golang的生产力

我有以下项目结构:

myGithubProject/
    |---- cmd
      |----- command
        |----- hello.go
    |---- internal
        |----- template
           |----- template.go
        |----- log
          |----- logger.go
    main.go
Run Code Online (Sandbox Code Playgroud)

在log与template处于同一水平(在内部封装)在logger.go使用即时通讯logrus与一些配置沙子记录我想用logger.go 的内部对象template包。我应该如何以一种干净的方式做到这一点?

目前我使用它 import logger在template.go文件中,

而在internal包装下,我6还有更多packages需要它的地方logger。他们每个人都依赖它。(在log包装上)有什么好处理的吗?

更新:

如果我还有更多需要传递的内容(例如logger),这里的方法/模式是什么?也许使用dependency injection?interface?其他干净的方法...

我需要一些最佳实践的完整示例,该如何logger在hello.go文件中以及在中使用template.go。

这是我的项目

cliProject/main.go

package main

import (
    "cliProject/cmd"
    "cliProject/internal/logs"
)

func main() {
    cmd.Execute()
    logs.Logger.Error("starting")
} …
Run Code Online (Sandbox Code Playgroud)

dependency-injection interface go

6
推荐指数
2
解决办法
1649
查看次数

标签 统计

go ×3

dependency-injection ×1

import ×1

interface ×1