Giter Club home page Giter Club logo

index's Introduction

Go modules by example

Go modules by example is a series of work-along guides that look to help explain how Go modules work and how to get things done. They are designed to complement the official Go documentation and the Go modules wiki.

The guides are being released in no particular order and will instead be curated into a more cogent order/structure (in conjunction with the modules wiki) at a later date.

The release-ordered list of guides:

WIP guides:

Wikis:

Contributing

See Contributing.

Caveats

This project is work-in-progress. Feedback/PRs welcome.

Credits

With particular thanks (in no particular order) to:

index's People

Contributors

myitcv avatar quasilyte avatar someword avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

index's Issues

Be more atomic in our operations with example repos

At the moment we follow this sort of pattern at the start of an example:

now=$(date +'%Y%m%d%H%M%S_%N')
githubcli repo renameIfExists $GITHUB_ORG/$r ${r}_$now
githubcli repo transfer $GITHUB_ORG/${r}_$now $GITHUB_ORG_ARCHIVE
githubcli repo create $GITHUB_ORG/$r

But this means that for the entire of the regen of the example we are "missing" the real repo.

Instead we should switch to doing renames and transfers at the end of the example which will minimise downtime.

Share vendor between submodule

Thanks for the example, I have a question about submodule, can I have shared vendor between submodules? for example, I don't want every submodule to vendor some test util, and I want to manage the version of vendor globally, and How can I test all submodule in the main module?

"Tools as dependencies": go vet fails with "import "..." is a program, not an importable package"

The "Tools as dependencies" example: https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md doesn't address go vet failing with import "..." is a program, not an importable package.

I can't see a way to disable that specific check in go vet.

I appreciate that go vet is based on heuristics and not perfect, however it is commonly used and developers want to be able to have their work pass go vet cleanly.

See also golang/go#30515

Plans to finish the examples?

Hello @myitcv, I find this repo extremely useful, thanks! :-)
It seem that the activity has slowed down, I wanted to ask if you have plans (and time :-) to finish the examples?

Clarification about using the "modules download cache" instead of vendoring

The 012_modvendor intro includes this statement vis-a-vis vendoring:

In a modules world, the module download cache can be used as a higher fidelity source of module dependencies.

That sentence is a bit of a mind-blower. I'm unclear about how it can be higher fidelity; it seems that either the result of go mod vendor is correct or it isn't.

On the off chance that other folks are also confused, it'd be great if you can expand on the topic a bit. If you can clue me in I can write it up and PR it if that's easier for you.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.