相关疑难解决方法(0)

Golang:通过命令行运行当前目录中的所有.go文件(多文件包)

我是Go的新人.我非常喜欢这种语言,但我很快意识到由于程序大小的增加,我需要开始分割文件.

go run main.go (main.go是我的main()函数的文件)

没有工作,我打了一段时间的障碍,因为我不知道如何使我的程序工作.

一些快速搜索引导我得到答案

go run main.go other.go ..

通过键入我所package main包含的所有文件,我可以运行编程.然而,每次这样做都非常麻烦和令人沮丧.

我写了以下自我回答的问题,以防止像我这样可能再次遇到这个障碍的人.

command-line-interface go

47
推荐指数
6
解决办法
5万
查看次数

如何访问全局变量

我对golang很新,这应该是一个简单的答案,但我试着搜索每一个没有运气的地方.

如何在不同的.go包/文件中访问main.go中声明为/ init的全局变量?继续告诉我变量是未定义的(我知道全局变量很糟糕,但这只是用作时间戳)

在main.go

var StartTime = time.Now()
func main(){...}
Run Code Online (Sandbox Code Playgroud)

尝试在不同的.go文件中访问StartTime,但一直未定义StartTime

variables program-entry-point global go

41
推荐指数
2
解决办法
11万
查看次数

转:同一包中的未定义函数

我已经开始使用Go,并且正在尝试按照本教程进行操作。一切构建正确,但是当我尝试运行它时,出现了makeRouter()找不到的错误。

我看了一些其他问题,例如this,并检查了文档,但是我找不到我的设置有什么问题。

我的文件夹结构:

.../wattagebazooka/
  |- wattagebazooka.go
  |- router.go
  |- handler.go
Run Code Online (Sandbox Code Playgroud)

wattagebazooka.go
package main

import (
    "database/sql"
    "fmt"
    "log"
    "net/http"
    "runtime"

    _ "github.com/lib/pq"
)

// init sets runtime settings.
func init() {
    // Verbose logging with file name and line number
    log.SetFlags(log.Lshortfile)

    // Use all CPU cores
    runtime.GOMAXPROCS(runtime.NumCPU())
}

var db *sql.DB

func main() {
    db = openDB()
    defer db.Close()

    r := makeRouter()
    http.Handle("/", r)
}

func openDB() *sql.DB {
    dbName := "wattagebazooka"

    db, …
Run Code Online (Sandbox Code Playgroud)

go

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