Table of Contents

bagend is a simple library which provides Assert and kotlin-like TODO functions for Go.


Assert accepts two arguments: bool condition and a string message. If the condition is false, Assert panics with string including the message from second argument and the position in code.

// this will pass
bagend.Assert(2+2 == 4, "2+2 must equal 4")

// this will panic
bagend.Assert(2+2 == 5, "2+2 must equal 4")

TODO accepts a string message and always panics with it and position in code. It also returns an interface{} so that it can be used in functions that return.

func convertNumber(number int) int {
	return bagend.TODO("implement me later").(int)


This project is finished; no more functions will be implemented; all feature requests will be ignored.

This project uses The Code of Merit, which is available as CODE_OF_CONDUCT file.

Fixes and patches are welcome; please send them to bagend@git.apiote.xyz using git send-email. They must include a sign-off to certify agreement to Developer Certificate of Origin.

All communication—questions, bugs, etc.—should go through the mailing list available at bagend@git.apiote.xyz. Note that all communication will be made public at https://asgard.apiote.xyz/.


The canonical repository for this project is https://git.apiote.xyz/bagend.git it’s mirrored at https://notabug.org/apiote/bagend

Mirrors exist solely for the sake of the code and any additional functions provided by third-party services (including but not limited to issues and pull requests) will not be used and will be ignored.


This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.