Thanks Pierre. I'd forgotten that feature, documented here: 
https://docs.google.com/document/d/1e8kOo3r51b2BWtTs_1uADIA5djfXhPT36s6eHVRIvaU/edit

On Thursday, November 8, 2018 at 12:51:05 PM UTC, Pierre Curto wrote:
>
> If you want to hide packages that you use only for your main package, then 
> put them under the internal directory within your main package.
> That way, they are still available from your main package (or any sub 
> package) but not outside of it, including in godoc.
>
> i.e.
>   top/
>      top.go
>      internal/sub1
>                    sub1.go
>      internal/sub2
>                   sub2.go
>
> packages "sub1" and "sub2" are accessible from package "top" but not 
> outside.
> package "sub1" can access package "sub2" and vice-versa.
>
> Le jeudi 8 novembre 2018 13:33:44 UTC+1, Glyn Normington a écrit :
>>
>> Packages are handy for hiding implementation details of a given package 
>> from packages that use the given package. However, introducing a package 
>> currently has a downside: the package's externals become visible outside 
>> the module containing the package. If breaking changes are made to the 
>> package, its module's major version must be bumped. It would be nice to 
>> avoid this when a package is really intended to be an implementation detail 
>> of a module. If the package could be *hidden* from users of the module, 
>> breaking changes could then be made to the package without necessarily 
>> impacting other modules.
>>
>> I'd be grateful for any pointers to previous discussions of this topic. 
>> There was no mention of similar features being deemed out of scope in the 
>> modules 
>> wiki <https://github.com/golang/go/wiki/Modules>.
>>
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to