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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNjUzNTMsIm5iZiI6MTcyMzI2NTA1MywicGF0aCI6Ii83ODM5MDYvMjY0NDg0NjMyLWU0ZmQ0NTkyLWE5NTMtNGQ2Yi04YzEyLTMwMTcxYjMxOGE1My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxMFQwNDQ0MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MGQ1ZmEwNWYxYjM4OTY1ODc5OTg1ZjZlOTkwMDYyNDZhMTgwODg1MTA0OGUxNmFkZmUzOGY1MDMzZjZmMDRkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ERYKGk-IGXy5kNQqVxBEVrKvHmsfx-rbXEJh16vzSiM)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNjUzNTMsIm5iZiI6MTcyMzI2NTA1MywicGF0aCI6Ii83ODM5MDYvMjY0NDg1MDcwLWQxNzdkNzdmLWMzODMtNGMyNS05YjlmLTAzMGMzM2NlODlmYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxMFQwNDQ0MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMzNmZmFjNzI5ZDdlNjZmZjJmOWRhNWE3M2EwMDA1MjFlYjNhMWU3YzBjYmUxYTA4OTQ5YTc5ZjM2YjUxMDBlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.FALXCYVeE_5RuNoYWrbdMeooEZ3xu6L6Ob08gpGnNZ4)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNjUzNTMsIm5iZiI6MTcyMzI2NTA1MywicGF0aCI6Ii83ODM5MDYvMjY0NDg1NzE2LTE3Nzc5Mzc3LTk0YWEtNGU1NS05OTQyLTQ3YTVmY2ZiOGY4YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxMFQwNDQ0MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNWZhY2MxN2YwOTBhZWM3ZGMyYjVkZmYxMzFmNDJkZGZlZDE1NDQwNzEyNTMzOTg4YTlkMWIyNjU5ODhjMzYyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5hK48sLwDsSOUpR9nxKQj7UfS0Voh_hPOU-HhT0XeQI)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNjUzNTMsIm5iZiI6MTcyMzI2NTA1MywicGF0aCI6Ii83ODM5MDYvMjY0NDg1OTI0LTUxYWE3ODRiLTU2ZGEtNDRhMi04MWM0LWM3ZWNlYzVmYTcxMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxMFQwNDQ0MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYmY2M2VkYWVhZGQ4Y2ZmMDc1ZDkwZGM2MWQ5N2RmZDhiYTZjMzYyNTQ0ZjkzODU2NmQyZmM2Mzg0NDU4Y2M4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9._NVz5NgrJmkJoPRw1f3qQnYn-aXqPZM3qON4O9twm-0)
Print source code is available under the MIT License.