Hi Daryl, On Sat, 10 Jul 2021 12:12:41 -0700 (PDT) Daryl Robert Miller <dary...@uci.edu> wrote:
> I have created local packages in support of my main golang program; > it has been challenging to figure out where to put these packages and > how to import them. Obviously this area of Go has changed over the > years so some examples out there are just wrong. The official Go website provides two up-to-date examples on how create package and to import them, * https://golang.org/doc/code * https://golang.org/doc/tutorial/create-module All of them now include creating and using package as part of the Go module. > I got things > working but can find no info on why, so my question is where is an > explaination of how / why the below works (specifically using "main" > prefix): The specification for packages and import can be read on this pages: * https://golang.org/ref/spec#Packages, * https://golang.org/ref/spec#Import_declarations > > go version go1.16.5 darwin/amd64 > Using Visual Studio Code v 1.58.0 on MacOS > > *~/go/src/myproject/main.go* > package main > > import "main/mypackage" > > func main() { > mypackage.Dothis() > } > --- > > *~/go/src/myproject/mypackage/mypackage.go* > package mypackage > > func Dothis() { } > > Assuming that you are not enabling Go module, anything under "$HOME/go/src/" directory will be considered as importable. So, if you have "myproject/mypackage", where "myproject" defined as package "main", then "main/mypackage" is the _import path_ for that package that can be imported by any Go source code under "$HOME/go/src" except by the package itself. -- Shulhan -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/20210711162100.17322c80%40inspiro.localdomain.
pgp5y4KhDx10L.pgp
Description: OpenPGP digital signature