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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0ODg1MjIsIm5iZiI6MTcxOTQ4ODIyMiwicGF0aCI6Ii83ODM5MDYvMjY0NDg0NjMyLWU0ZmQ0NTkyLWE5NTMtNGQ2Yi04YzEyLTMwMTcxYjMxOGE1My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QxMTM3MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mZWE2NmJhZjIwNGUyMjEwZWQzMzMwNTNlMDc5M2I0YjQ2NzYwOTA4NmE0Y2EyNzZiYzFjNTViYjdjYjUwNmNkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.NeheWThBaa2VEIzPHk2vnJb6jbaoNehOniA-3NTzrdY)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0ODg1MjIsIm5iZiI6MTcxOTQ4ODIyMiwicGF0aCI6Ii83ODM5MDYvMjY0NDg1MDcwLWQxNzdkNzdmLWMzODMtNGMyNS05YjlmLTAzMGMzM2NlODlmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QxMTM3MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZmExYWY3NTlmNzE1ZDE3MWVmZGI0ODAwNzAwNzY2NjIwY2RiNTBmM2Y5ZjQyOWJjODdiZDlhMWFhNGM4MGZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.2ex6WBMz5u2diZIA-ZksvJBrB68lgvm9vry8sIzeWYs)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0ODg1MjIsIm5iZiI6MTcxOTQ4ODIyMiwicGF0aCI6Ii83ODM5MDYvMjY0NDg1NzE2LTE3Nzc5Mzc3LTk0YWEtNGU1NS05OTQyLTQ3YTVmY2ZiOGY4YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QxMTM3MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wMjExYWRlNjYyMzc5ZjczNDc5ZTU4MGFlYWFlYjgzZTk2NTM3MWNlZGU4Nzg3MjliNWQ3MWUwNjhiYTMxODg4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.xKpEzQEmhGsU4Iw6tYWf9-CKIy4vN2gRYwaRYuI-5tg)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0ODg1MjIsIm5iZiI6MTcxOTQ4ODIyMiwicGF0aCI6Ii83ODM5MDYvMjY0NDg1OTI0LTUxYWE3ODRiLTU2ZGEtNDRhMi04MWM0LWM3ZWNlYzVmYTcxMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyN1QxMTM3MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZDk0Y2EyOGRjZGQ3YjdmY2YzMmY1YWJiYmM1MjlhMGZhMDZmNzNjNzY3OGU0Mzc3NmFkMTRkZTM5ODM5MmQ1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.kv1RB8qJK-SqFKwjcHuX0yxkDUVeVWT2jCVSHQhgfEs)
Print source code is available under the MIT License.