packageが適用される範囲は1ファイルですか？


**packageが適用される範囲は1ファイルですか？**  
・1つのファイルで複数のパッケージを定義することは出来ない？？




はい、1つのファイルは1つのパッケージにのみ対応します。

仕様の <https://golang.org/ref/spec#Packages> にも以下のように書かれています。

> ### Source file organization
>
> Each source file consists of a package clause defining the package to which
> it belongs, followed by a possibly empty set of import declarations that
> declare packages whose contents it wishes to use, followed by a possibly
> empty set of declarations of functions, types, variables, and constants.
[code]

>     SourceFile       = PackageClause ";" { ImportDecl ";" } { TopLevelDecl
> ";" } .
>  
[/code]




はい、1つのファイルは1つのパッケージにのみ対応します。

仕様の <https://golang.org/ref/spec#Packages> にも以下のように書かれています。

> ### Source file organization
>
> Each source file consists of a package clause defining the package to which
> it belongs, followed by a possibly empty set of import declarations that
> declare packages whose contents it wishes to use, followed by a possibly
> empty set of declarations of functions, types, variables, and constants.
[code]

>     SourceFile       = PackageClause ";" { ImportDecl ";" } { TopLevelDecl
> ";" } .
>  
[/code]

