- vừa được xem lúc

Poetry time! Go proverbs as limericks

0 0 24

Người đăng: tran trung

Theo Viblo Asia

Go Proverbs, Explained in Limericks

Simple, Poetic, Pithy

With a (not so) tiny bit of help from ChatGPT, the AI chatbot. My sincere apologies to Edward Lear.

Prologue

Once there was a Go programmer
Whose code was quite a bummer
But he followed the rules
Of the Go proverbs, and jewels
Of wisdom were soon discovered.

Don’t communicate by sharing memory, share memory by communicating.

There once was a code that was grand
It shared memory, but not as planned
“Communicate, don’t share”
Was the lesson to bear
And thus, the code ran as it can.

Concurrency is not parallelism.

There once was a programmer named Joe.
He thought concurrency was parallelism, oh no!
But soon he learned that’s not true,
And now his code runs through,
Thanks to the wisdom of Go.

Channels orchestrate; mutexes serialize.

In Go, channels are quite grand,
They help processes take a stand,
While mutexes will make,
Things run in a straight line,
And keep the program in command.

The bigger the interface, the weaker the abstraction.

There once was an interface big and wide
It was quite the spectacle, oh how it tried
But alas, it was weak
For its abstraction was bleak
Less is more, it’s time to step aside

Make the zero value useful.

There once was a zero value so bland
It sat there with nothing in hand
But one clever programmer
Gave it a new demeanor
Now it’s useful and doing as planned.

interface{} says nothing.

There once was a type named interface{}
That didn’t reveal anything concise
It kept things quite vague
And left programmers in a rage
“What does this mean?” they would entice.

Gofmt’s style is no one’s favorite, yet gofmt is everyone’s favorite.

Though Gofmt’s style may not please
It’s still a tool that we seize
To format our code
In a consistent mode
And make our projects look sleek and concise.

A little copying is better than a little dependency.

A little copying’s not a crime
It can save you from dependency’s grime
Just be sure to give credit
Where credit is due
And avoid any potential legal time.

Syscall must always be guarded with build tags.

Syscall must be guarded with care
With build tags to protect and ensnare
Any potential threat
That might cause it to fret
And keep your program running fair.

Cgo must always be guarded with build tags.

Cgo must be guarded with tags
To prevent any potential snags
In the building process
It can save you from stress
And keep your program free of flags.

Cgo is not Go.

Cgo may seem like Go at first glance
But it’s quite a different circumstance
It allows for C code
To be integrated, bestowed
But it’s still not the same at a glance.

With the unsafe package there are no guarantees.

The unsafe package, it’s plain to see
Comes with no guarantees, can’t you agree?
It opens up doors
To potential pitfalls and roars
So use it cautiously, wisely, and free.

Clear is better than clever.

Clever code can be quite a feat
But clear code can’t be beat
It’s easy to read
And doesn’t mislead
So make sure your code is both clear and neat.

Reflection is never clear.

Reflection can be quite a fuss
It’s never clear, that much is a must
It can cause confusion
And lead to an illusion
So use it sparingly, if at all, and adjust.

Errors are values.

Errors, they’re not just a blight
But values that must be dealt with right
They can be stored
And later explored
To help your program take flight.

Don’t just check errors, handle them gracefully.

Checking errors is just the start
You must handle them with a graceful heart
Don’t just ignore them
Or let your program condemn
Be mindful of how you play your part.

Design the architecture, name the components, document the details.

Design the architecture, with care
Name the components, with flair
Document the details
So others won’t fail
And your project can thrive beyond compare.

Documentation is for users.

Documentation, it’s a must
For users, so they won’t be lost
It helps them understand
And follow your plan
So they can use your program without any fuss.

Don’t panic.

When panic strikes, don’t despair
Take a deep breath, and take the air
Remember that quote
And all will be afloat
"Don't panic," just breathe, and repair.

Bình luận

Bài viết tương tự

- vừa được xem lúc

gRPC - Nó là gì và có nên sử dụng hay không?

Nhân một ngày rảnh rỗi, mình ngồi đọc lại RPC cũng như gRPC viết lại để nhớ lâu hơn. Vấn đề là gì và tại sao cần nó .

0 0 131

- vừa được xem lúc

Embedded Template in Go

Getting Start. Part of developing a web application usually revolves around working with HTML as user interface.

0 0 56

- vừa được xem lúc

Tạo Resful API đơn giản với Echo framework và MySQL

1. Giới thiệu.

0 0 60

- vừa được xem lúc

Sử dụng goquery trong golang để crawler thông tin các website Việt Nam bị deface trên mirror-h.org

. Trong bài viết này, mình sẽ cùng mọi người khám phá một package thu thập dữ liệu có tên là goquery của golang. Mục tiêu chính của chương trình crawler này sẽ là lấy thông tin các website Việt Nam bị deface (là tấn công, phá hoại website, làm thay đổi giao diện hiển thị của một trang web, khi người

0 0 237

- vừa được xem lúc

Tạo ứng dụng craw dữ liệu bing với Golang, Mysql driver

Chào mọi người . Lâu lâu ta lại gặp nhau 1 lần, để tiếp tục series chia sẻ kiến thức về tech, hôm nay mình sẽ tìm hiểu và chia sẻ về 1 ngôn ngữ đang khá hot trong cộng đồng IT đó là Golang.

0 0 75

- vừa được xem lúc

Golang: Rest api and routing using MUX

Routing with MUX. Let's create a simple CRUD api for a blog site. # All . GET articles/ .

0 0 54