Like Rust's dbg macro, but for Go!
0

Configure Feed

Select the types of activity you want to include in your feed.

Go 100.0%
61 1 3

Clone this repository

https://tangled.org/followtheprocess.codes/debug https://tangled.org/did:plc:fygadygytiqam3p7puzjk4ot
git@tangled.org:followtheprocess.codes/debug git@tangled.org:did:plc:fygadygytiqam3p7puzjk4ot

For self-hosted knots, clone URLs may differ based on your setup.



README.md

Debug#

License Go Reference Go Report Card GitHub CI codecov

Like Rust's dbg macro, but for Go!

Project Description#

debug provides a simple, elegant mechanism to streamline "print debugging", inspired by Rust's dbg macro

WARNING

This is not intended for logging in production, more to enable quick local debugging while iterating. debug.Debug should not make it into your production code

Installation#

go get go.followtheprocess.codes/debug@latest

Quickstart#

Before#

package main

import "fmt"

func main() {
    something := "hello"
    fmt.Printf("something = %s\n", something)
}
something = something
  • Not ideal, need to manually type variable name
  • No source info, could easily get lost in a large program
  • Need to deal with fmt verbs

With debug.Debug#

package main

import "go.followtheprocess.codes/debug"

func main() {
    something := "hello"
    debug.Debug(something)
}
DEBUG: [/Users/you/projects/myproject/main.go:7:3] something = "hello"
  • Source info, yay! 🎉
  • Variable name is handled for you
  • Can handle any valid go expression or value
  • No fmt print verbs

Credits#

This package was created with copier and the FollowTheProcess/go_copier project template.