duanjucong3124
2016-01-03 20:40
浏览 217
已采纳

Go / golang-是否具有相当于python“ pip install”的安装包?

Have just started learning about Go (do people say "Go" or "Golang"?)

I got the hello world example running. I have my GOROOT AND GOPATH set up.

Now I want to do something bit more advanced, for example open csv file, for which I found a tutorial to do that here

In order to make this script work, I need the packages that are being imported eg "bufio", "encoding/csv", etc.

Do I have to manually search https://github.com/golang/go/wiki/Projects or some other repository, download and unzip these into my GOPATH "pkg" directory?

Or does Go/Golang have something equivalent to Python's "pip install" that would do this for me?

import (
    "bufio"
    "encoding/csv"
    "os"
    "fmt"
    "io"
)

func main() {
    // Load a TXT file.
    f, _ := os.Open("C:\\Users\\bb\\Documents\\Dropbox\\Data\\bc hydro tweets\\bchtweets.csv")

    // Create a new reader.
    r := csv.NewReader(bufio.NewReader(f))
    for {
    record, err := r.Read()
    // Stop at EOF.
    if err == io.EOF {
        break
    }
    // Display record.
    // ... Display record length.
    // ... Display all individual elements of the slice.
    fmt.Println(record)
    fmt.Println(len(record))
    for value := range record {
        fmt.Printf("  %v
", record[value])
    }
    }
}
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • douan2478 2016-01-03 20:43
    已采纳

    Go has go get which is similar to pip install in Python. (ref)

    已采纳该答案
    打赏 评论
  • doukuiqian9911 2016-01-03 20:52

    Read every single line of this beautiful documentation's section: https://golang.org/doc/code.html#Organization

    BTW, all packages you have in your import section are from standard library. So you don't have to install anything for this example.

    Best way to install a package is go get which simply clones a git repo to your $GOPATH/src and you should stick to it as long as you can. If you must use some package version you can create fork for a specified commit and go get that fork or use one of many vendoring toolds https://github.com/golang/go/wiki/PackageManagementTools

    打赏 评论
  • doulongsi1831 2016-01-04 01:01

    The Glide package manager is maybe your closest option to pip. You have config (and lock) files, can specify versions, etc.

    Until Go 1.6 is out you'll need to set the environment variable GO15VENDOREXPERIMENT=1 for the go tool to pickup the packages in the vendor/ folder. In Go 1.6 this will be on by default. Glide stores packages in a vendor/ folder instead of the GOPATH (even though the root project needs to be in the GOPATH) so that different applications can have and regularly use different versions of dependencies.

    If you want something a little different there are numerous package managers listed on the wiki.

    Disclosure: I'm on of Glide's developers. Pip was one of the inspirations for it.

    打赏 评论
    1. 没有开启 go mod 使用go get xxxx
    2. 开始go mod 使用go mod tidy
    打赏 评论

相关推荐 更多相似问题