Print is a Go package that makes terminal console output a little prettier (-:
To start using Print, install Go and run go get
:
$ go get -u github.com/n0ne/print
This will retrieve the library.
Create a struct:
type User struct {
Name string
Age int
Email string
}
then create a user:
user := User{
Name: "Alex",
Age: 25,
Email: "test@test.com",
}
Now we can print our user:
print.Struct(user)
The output will be:
![Screenshot 2023-08-30 at 17 54 34](https://private-user-images.githubusercontent.com/783906/264484632-e4fd4592-a953-4d6b-8c12-30171b318a53.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MzUyNjUsIm5iZiI6MTcyMDgzNDk2NSwicGF0aCI6Ii83ODM5MDYvMjY0NDg0NjMyLWU0ZmQ0NTkyLWE5NTMtNGQ2Yi04YzEyLTMwMTcxYjMxOGE1My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxM1QwMTQyNDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZmJmZTA5YjBmNGExOWZjM2E2YjM1ZDg4MWFiYjZhNzZmMjkzZTdjNTJlYTUzYmNlM2E4MzRmMGRhOTIyNzYzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.CNO6zH4J9cX3XsZ6wNHo2juroYKGAxLxyW8r9hIPVF4)
Or you can call Structc()
function, which will add some colors to the output:
print.Structc(user)
The output in this case will be:
![Screenshot 2023-08-30 at 17 54 50](https://private-user-images.githubusercontent.com/783906/264485070-d177d77f-c383-4c25-9b9f-030c33ce89fb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MzUyNjUsIm5iZiI6MTcyMDgzNDk2NSwicGF0aCI6Ii83ODM5MDYvMjY0NDg1MDcwLWQxNzdkNzdmLWMzODMtNGMyNS05YjlmLTAzMGMzM2NlODlmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxM1QwMTQyNDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MDM2MjVkNDVlMmEwOWY4MGFjYWFhODEyNTdmY2JhNzZhMjVkZjQ2MDhhN2Y0MWY5Y2ZlMjZiY2FkYzg3NGJmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.WqgG8gd-cRR6bER0FoYpozzR37wEWkGBVBNynIjVZWs)
Let's create a few slices:
sliceInt := []int{1, 2, 3, 4, 5, 6}
sliceString := []string{"Some", "strings", "here"}
sliceDouble := []float64{1.1, 2.2, 3.3}
and print them:
print.Slice(sliceInt)
print.Slice(sliceString)
print.Slice(sliceDouble)
The output for slices will be:
![Screenshot 2023-08-30 at 17 55 03](https://private-user-images.githubusercontent.com/783906/264485716-17779377-94aa-4e55-9942-47a5fcfb8f8a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MzUyNjUsIm5iZiI6MTcyMDgzNDk2NSwicGF0aCI6Ii83ODM5MDYvMjY0NDg1NzE2LTE3Nzc5Mzc3LTk0YWEtNGU1NS05OTQyLTQ3YTVmY2ZiOGY4YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxM1QwMTQyNDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MWY4MDUzYTE4NGUzNjMzYjZlZTE2YTY3NjA4MzBiY2QwZWNhZjFiNmVkNGVjYTgxNmViMTJlMDg1ZTY0NjgyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Fub2RmrucDtrzFN-MXxlGlNL8o4GzkO79tmHybebWYo)
Let's add some color to our error message:
print.Error("Error: something went wrong")
And this you will see in the console:
![Screenshot 2023-08-30 at 17 55 10](https://private-user-images.githubusercontent.com/783906/264485924-51aa784b-56da-44a2-81c4-c7ecec5fa713.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MzUyNjUsIm5iZiI6MTcyMDgzNDk2NSwicGF0aCI6Ii83ODM5MDYvMjY0NDg1OTI0LTUxYWE3ODRiLTU2ZGEtNDRhMi04MWM0LWM3ZWNlYzVmYTcxMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxM1QwMTQyNDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNWUzNjM4OWQxYmYzMzBkMjk3ZjgwMzllZjA3NzE3YTc2OTdjNjllMzc1MWFlMDJlMDBhNmYzZGU4NDJiOGJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5-EOaIRnAn_78g3Yb9y1GfMJV66NYwXDProKMNrXr3k)
Print source code is available under the MIT License.