Thought of delving more in Go, after this article:
- Using Golang to Build a Real-Time Notification System - A Step-by-Step Notification System Design Guide
- JSON is Slower. Here Are Its 4 Faster Alternatives
The Go programming language is renowned for its simplicity, power, exceptional tooling, and widespread adoption. Nevertheless, as is typical with strongly typed languages, developers often find themselves crafting significant amounts of boilerplate code to establish connections and perform routine tasks.
In this article, we'll delve into three key aspects:
Why Code Generation in Go: The rationale behind employing code generation in Go to alleviate boilerplate code.
Foundations of Code Generation in Go: Exploring the fundamental elements and libraries that facilitate code generation.
Learning from Examples: Discovering existing code generation tools and projects to gain insights and inspiration.
Leveraging Code Generation to Reduce Boilerplate
Developers sometimes attempt to diminish boilerplate by using reflection and introducing methods that accept the generic interface{}
type. However, this approach sacrifices type safety. When interface{}
is employed, the compiler cannot ensure that the correct types are being used, which increases the risk of runtime errors.
Many instances of boilerplate code can be inferred from the existing project codebase. To address this, developers can create tools that analyze the project's source code and generate the necessary code automatically.
Elements of Code Generation in Go
To implement code generation effectively in Go, developers need to master the fundamental elements that facilitate code analysis and generation.
-
Reading Code: The Go standard library provides several packages for reading and parsing code:
-
go/build
: Gathers information about Go packages, including directory locations, code and test files, and dependencies. -
go/scanner
andgo/parser
: These packages read source code and parse it into an Abstract Syntax Tree (AST). -
go/ast
: Declares types used to represent the AST and provides methods for traversing and modifying the tree. -
go/types
: Defines data types and algorithms for type-checking Go packages. This package processes the AST to provide type information.
-
Generating Code: Most projects rely on the text/template package to generate code. It's advisable to begin generated files with a comment indicating that the code is automatically generated, specifying the generating tool and emphasizing that manual edits should be avoided.
Example Comment:
/*
* CODE GENERATED AUTOMATICALLY WITH github.com/ernesto-jimenez/gogen/unmarshalmap
* THIS FILE SHOULD NOT BE EDITED BY HAND
*/
The go/format
package, which contains the logic used by go fmt
, can be used to format generated code before writing it.
Using go generate
When developing tools for code generation in Go, two questions frequently arise: When should code generation occur during the development process, and how can generated code be kept up-to-date?
Since Go version 1.4, the go
tool includes the generate
command, enabling developers to run code generation tools through the go
tool itself. Special comments within the source code dictate which commands should be executed during code generation.
To invoke code generation, add a comment in the following format:
//go:generate shell command
The important points to remember are:
-
go generate
should be initiated by the developer authoring the program or package and is not automatically triggered bygo get
. - Ensure that all tools specified in
go generate
are installed and configured on your system, and document where to obtain these tools.
If the code generation tool is located within the same repository, using go run
from go:generate
is recommended. This allows you to execute code generation without manual building and installation each time the tool is modified.
Initiating Your Code Generation Journey
While the standard library packages for code parsing and generation are powerful, comprehending their usage solely through documentation can be challenging. Learning from existing code generation tools is highly beneficial, serving multiple purposes:
- Gaining inspiration for the types of tools you can build.
- Learning from the source code of existing tools.
- Discovering tools that can be valuable on their own.
Projects for Learning
Two practical examples of code generation tools:
- Generating Stubs for Interface Implementation
Have you ever encountered the repetitive task of manually creating method stubs when implementing an interface? The 'impl' tool can automatically generate stubs for you. It scans the standard library to identify the interface and produces the required method implementations.
Example:
$ impl 'f *File' io.ReadWriteCloser
func (f *File) Read(p []byte) (n int, err error) {
panic("not implemented")
}
func (f *File) Write(p []byte) (n int, err error) {
panic("not implemented")
}
func (f *File) Close() error {
panic("not implemented")
}
- Automatic Mock Generation with 'mockery'
Automated Mock Generation with 'mockery'
The testify package offers a robust mock feature, simplifying the process of mocking dependencies during unit testing. Leveraging the implicit satisfaction of interfaces, we can define our dependencies using interfaces and utilize mock objects in place of actual external dependencies.
Here's a straightforward illustration of how to mock an imaginary 'downcaser' interface:
package main
import (
"testing"
"github.com/stretchr/testify/mock"
)
type downcaser interface {
Downcase(string) (string, error)
}
func TestMock(t *testing.T) {
m := &mockDowncaser{}
m.On("Downcase", "FOO").Return("foo", nil)
m.Downcase("FOO")
m.AssertNumberOfCalls(t, "Downcase", 1)
}
The implementation of the mock object is quite straightforward:
type mockDowncaser struct {
mock.Mock
}
func (m *mockDowncaser) Downcase(a0 string) (string, error) {
ret := m.Called(a0)
return ret.Get(0).(string), ret.Error(1)
}
Remarkably, the mock object can be generated automatically, thanks to the simplicity of the interface definition. This is precisely what 'mockery' accomplishes:
$ mockery -inpkg -testonly -name=downcaser
Generating mock for: downcaser
I routinely employ 'mockery' in conjunction with 'go generate' to effortlessly produce mock implementations for my interfaces. The process entails adding just one line of code to the existing example to set up a functional mock.
package main
import (
"testing"
)
type downcaser interface {
Downcase(string) (string, error)
}
//go:generate mockery -inpkg -testonly -name=downcaser
func TestMock(t *testing.T) {
m := &mockDowncaser{}
m.On("Downcase", "FOO").Return("foo", nil)
m.Downcase("FOO")
m.AssertNumberOfCalls(t, "Downcase", 1)
}
The setup is complete once 'go generate' is executed. Here's an overview of how the process unfolds:
$ go test
# github.com/ernesto-jimenez/test
./main_test.go:14: undefined: mockDowncaser
FAIL github.com/ernesto-jimenez/test [build failed]
$ go generate
Generating mock for: downcaser
$ go test
PASS
ok github.com/ernesto-jimenez/test 0.011s
Any modifications to the interface are seamlessly accommodated by running 'go generate,' ensuring that the corresponding mock remains up to date. 'mockery' played a pivotal role in my journey, leading me to contribute to testify/mock and ultimately assume the role of a maintainer for the project. However, it's worth noting that 'mockery' was developed before the inclusion of 'go/types' in the standard library in Go version 1.5. Consequently, it relies on the lower-level 'go/ast,' which can make the code more complex to follow and may introduce issues when generating mocks for interfaces that employ composition.
Exploring 'gogen' Experiments
The author of this article has open-sourced a code generation package called 'gogen.' It currently includes three tools:
goautomock: Similar to 'mockery' but implemented using 'go/types' rather than 'go/ast,' making it compatible with composed interfaces and standard library interfaces.
gounmarshalmap: Generates an
UnmarshalMap(map[string]interface{})
function for a struct, decoding a map into the struct. It serves as an alternative to 'mapstructure,' relying on code generation instead of reflection.gospecific: A small experiment to generate specific packages from generic ones using interface{}. It analyzes the generic package's source code and generates a new package with specific types, addressing the use of interface{}.
Conclusion
Code generation is a powerful technique that reduces the burden of writing repetitive code while maintaining type safety. It is widely adopted by projects like Slackline and is likely to see increased use in the future.
However, developers should assess the worthiness of creating a code generation tool for their specific use case before embarking on the development journey.
Here's a list of vendor comparison pages you can check to get to a specific channel vendor.
- Ultimate Guide to SaaS In-App Notifications and In-App Inboxes - with Implementation Codes
- Mailjet vs SparkPost vs Elastic Email: Which Email Provider Is Better in 2024?
- Bandwidth vs Vonage vs Plivo Comparison: Which SMS Provider Is Better in 2024?
- Ring Central vs Karix vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Postmark vs Mailjet vs Netcore (formerly Pepipost): Which Email Provider Is Better in 2024?
- Understanding SaaS In-App Notifications - How to Implement In-App Inbox Notifications Effectively
- SNS vs Telnyx vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Ring Central vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SendGrid vs Mailchimp vs Socketlabs: Which Email Provider Is Better in 2024?
- SNS vs Ooma vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Sinch vs Messagebird Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Ring Central vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Plivo vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Twilio vs Plivo Comparison: Which SMS Provider Is Better in 2024?
- Telnyx vs Ooma vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Ooma vs Ring Central Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Telnyx vs Twilio Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Twilio vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Plivo vs Sinch vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Telnyx vs Plivo Comparison: Which SMS Provider Is Better in 2024?
- Telnyx vs Twilio vs Messagebird Comparison: Which SMS Provider Is Better in 2024?
- Telnyx vs Messagebird vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Bandwidth vs Ring Central Comparison: Which SMS Provider Is Better in 2024?
- Plivo vs Sinch vs Karix Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Twilio vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Telnyx vs Twilio vs Plivo Comparison: Which SMS Provider Is Better in 2024?
- Ring Central vs Twilio vs Vonage Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Plivo vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Ring Central vs Messagebird Comparison: Which SMS Provider Is Better in 2024?
- Ring Central vs Vonage vs Plivo Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Karix vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Vonage vs Sinch vs Karix Comparison: Which SMS Provider Is Better in 2024?
- Ring Central vs Plivo vs Karix Comparison: Which SMS Provider Is Better in 2024?
- Ring Central vs Messagebird vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Ring Central vs Karix Comparison: Which SMS Provider Is Better in 2024?
- Ring Central vs Twilio vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Twilio vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Ooma vs Ring Central Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Sinch vs Messagebird Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Exotel vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Vonage vs Messagebird Comparison: Which SMS Provider Is Better in 2024?
- Exotel vs Gupshup vs SNS Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Ooma vs Messagebird Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Vonage vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Ring Central vs Vonage Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Vonage vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Twilio vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Ring Central vs Plivo Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Telnyx vs Karix Comparison: Which SMS Provider Is Better in 2024?
- SNS vs MessageBird vs Karix Comparison: Which SMS Provider Is Better in 2024?
- RingCentral vs Vonage vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Sinch vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Telnyx vs Vonage Comparison: Which SMS Provider Is Better in 2024?
- RingCentral vs Twilio vs MessageBird Comparison: Which SMS Provider Is Better in 2024?
- SNS vs MessageBird vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Telnyx vs Plivo vs Sinch Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Vonage vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- SNS vs RingCentral vs Vonage Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Sinch vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Ooma vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Sinch vs Karix Comparison: Which SMS Provider Is Better in 2024?
- Exotel vs Gupshup vs Telnyx Comparison: Which SMS Provider Is Better in 2024?
- Vonage vs Plivo vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Sinch vs MessageBird vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs RingCentral vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs Sinch vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Ooma vs RingCentral vs Twilio Comparison: Which SMS Provider Is Better in 2024?
- Exotel vs Gupshup vs Bandwidth Comparison: Which SMS Provider Is Better in 2024?
- SNS vs Karix vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Ooma vs MessageBird Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Karix vs Exotel Comparison: Which SMS Provider Is Better in 2024?
- Bandwidth vs Plivo vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SendGrid vs Mailgun vs Postmark: Which Email Provider Is Better in 2024?
- SNS vs Plivo vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- SMTP.com vs Elastic Email vs SocketLabs: Which Email Provider Is Better in 2024?
- SNS vs Bandwidth vs Gupshup Comparison: Which SMS Provider Is Better in 2024?
- Telnyx vs Twilio vs Vonage Comparison: Which SMS Provider Is Better in 2024?
- Mailjet vs Sparkpost vs Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Ooma vs Ring Central vs Karix: SMS Provider Comparison and Which is Best in 2024
- Telnyx vs Twilio vs Karix: SMS Provider Comparison and Which is Best in 2024
- Vonage vs Plivo vs Messagebird: SMS Provider Comparison and Which is Best in 2024
- Ring Central vs Vonage vs Karix: SMS Provider Comparison and Which is Best in 2024
- Postmark vs Mailjet vs Sparkpost: Which Email Provider is Better in 2024?
- Mailchimp vs Mailjet vs Mailerlite: Which Email Provider is Better in 2024?
- Telnyx vs Sinch vs Exotel: SMS Provider Comparison and Which is Best in 2024
- SMTP.com vs Mailjet vs Mailerlite: Which Email Provider is Better in 2024?
- Bandwidth vs Telnyx vs Vonage: SMS Provider Comparison and Which is Best in 2024
- Vonage vs Messagebird vs Exotel: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs Ooma vs Exotel: SMS Provider Comparison and Which is Best in 2024
- Mailjet vs Sparkpost vs Socketlabs: Which Email Provider is Better in 2024?
- Mailchimp vs Mailjet vs Socketlabs: Which Email Provider is Better in 2024?
- Mailgun vs Mailchimp vs SMTP.com: Which Email Provider is Better in 2024?
- Mailchimp vs Amazon SES vs Postmark: Which Email Provider is Better in 2024?
- Telnyx vs Twilio: A Comprehensive Comparison for 2024
- SNS vs Vonage vs Karix: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs Karix vs Gupshup: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs Ooma vs Vonage: SMS Provider Comparison and Which is Best in 2024
- Ring Central vs Vonage vs Gupshup: SMS Provider Comparison and Which is Best in 2024
- SNS vs Ooma vs Twilio: SMS Provider Comparison and Which is Best in 2024
- SNS vs Ring Central vs Twilio: SMS Provider Comparison and Which is Best in 2024
- Mailchimp vs SMTP.com vs Sparkpost: Which Email Provider is Better in 2024?
- Mailgun vs Socketlabs vs Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- SMTP.com vs Postmark vs Brevo (formerly Sendinblue): Which Email Provider is Better in 2024?
- Twilio vs Sinch vs Exotel: SMS Provider Comparison and Which is Best in 2024
- Exotel vs Gupshup vs Vonage: SMS Provider Comparison and Which is Best in 2024
- Mailchimp vs Mailjet vs Elastic Email: Which Email Provider is Better in 2024?
- Vonage vs Sinch vs Messagebird: SMS Provider Comparison and Which is Best in 2024
- Mailgun vs Brevo (formerly Sendinblue) vs Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Ring Central vs Messagebird vs Karix: SMS Provider Comparison and Which is Best in 2024
- Sparkpost vs Socketlabs vs Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Sendgrid vs Amazon SES vs SMTP.com: Which Email Provider is Better in 2024?
- Mailgun vs Elastic Email vs Socketlabs: Which Email Provider is Better in 2024?
- Amazon SES vs Elastic Email vs Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Telnyx vs Ooma vs Twilio: SMS Provider Comparison and Which is Best in 2024
- Elastic Email vs Socketlabs vs Mailerlite: Which Email Provider is Better in 2024?
- SNS vs Vonage vs Plivo: SMS Provider Comparison and Which is Best in 2024
- Postmark vs Sparkpost vs Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Telnyx vs Ring Central vs Plivo: SMS Provider Comparison and Which is Best in 2024
- Ooma vs Vonage vs Karix: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs Plivo vs Karix: SMS Provider Comparison and Which is Best in 2024
- SNS vs Vonage vs Sinch: SMS Provider Comparison and Which is Best in 2024
- Sinch vs Messagebird vs Gupshup: SMS Provider Comparison and Which is Best in 2024
- SNS vs Bandwidth vs Sinch: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs Ooma vs Twilio: SMS Provider Comparison and Which is Best in 2024
- Telnyx vs Twilio vs Sinch: SMS Provider Comparison and Which is Best in 2024
- Ooma vs Vonage vs Sinch: SMS Provider Comparison and Which is Best in 2024
- Telnyx vs Ooma vs Plivo: SMS Provider Comparison and Which is Best in 2024
- SNS vs Telnyx vs Sinch: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs Ring Central vs Karix: SMS Provider Comparison and Which is Best in 2024
- SNS vs Sinch vs Gupshup: SMS Provider Comparison and Which is Best in 2024
- Twilio vs Sinch vs Gupshup: SMS Provider Comparison and Which is Best in 2024
- Bandwidth vs. Telnyx vs. Gupshup: Which SMS Provider is Right for You?
- Bandwidth vs. Sinch vs. Karix: Choosing the Best SMS Provider for Your Business
- Mailgun vs. Mailjet vs. Elastic Email: An In-Depth Comparison
- Vonage vs. Plivo vs. Gupshup: Selecting the Top SMS Gateway
- Telnyx vs. Plivo vs. Exotel: Finding the Perfect Match for Your Messaging Needs
- Twilio vs. Sinch vs. Karix: Comparing Features and Functionality
- Telnyx vs. Sinch vs. Gupshup: Evaluating Options for Enterprise Communications
- Ooma vs. Twilio vs. Vonage: Which SMS Service Should You Choose?
- Postmark vs. Mailjet vs. SocketLabs: The Ultimate Email Provider Showdown
- Sparkpost vs. Brevo (SendinBlue) vs. NetCore: Comparing Prices and Services
- Ooma vs. Twilio vs. Sinch: Selecting the Ideal Partner for Global Communication
- Mailgun vs. SMPT.com vs. Mailjet: Determining the Best Solution for Your Workflow
- Amazon SES vs. Vonage vs. MessageBird: Assessing SMS Capabilities
- Plivo vs. Sinch vs. MessageBird: Identifying Key Differences in APIs
- Amazon SES vs. Sparkpost vs. SocketLabs: Optimizing Your Email Marketing Strategy
- Postmark vs. Sparkpost vs. Elastic Email: Measuring Deliverability and Performance
- Mailchimp vs. Sparkpost vs. Elastic Email: Balancing Cost and Quality
- SendGrid vs. Mailchimp vs. MailerLite: Comparing Features and Usability
- Amazon SES vs. Mailjet vs. Brevo (SendinBlue): Maximizing ROI with Automation Tools
- SendGrid vs. Amazon SES vs. Sparkpost: Deciding Between Three Leading Providers
- Twilio vs. Plivo vs. Exotel: Enhancing Customer Experience through Bulk SMS
- Amazon SES vs. SMTP.com vs. NetCore: Streamlining Transactional Emails
- Mailchimp vs. Amazon SES vs. Sparkpost: Boosting Engagement with Personalized Campaigns
- Telnyx vs. Plivo vs. MessageBird: Integrating Voice and Video into Your Application
- SendGrid vs. MailChimp vs. Sparkpost: Improving Conversion Rates with Effective Content
- Telnyx vs. Vonage vs. MessageBird: Expanding Reach Across Borders
- SNS vs. Bandwidth vs. Ooma: Scaling Up with Advanced Telephony Solutions
- Exotel vs. Gupshup vs. Sinch: Building a Robust Chatbot Platform
- Mailchimp vs. SMTP.com: Which Email Provider is Better in 2024?
- SNS vs. RingCentral vs. Sinch: Which SMS Provider is Better in 2024?
- Amazon SES vs. Mailjet vs. MailerLite: Which Email Provider is Better in 2024?
- Mailgun vs. Elastic Email vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Postmark vs. SparkPost vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailgun vs. Mailchimp vs. Amazon SES: Which Email Provider is Better in 2024?
- Mailchimp vs. MailerLite: Which Email Provider is Better in 2024?
- Mailchimp vs. Mailjet: Which Email Provider is Better in 2024?
- SMTP.com vs. Mailjet vs. SparkPost: Which Email Provider is Better in 2024?
- Mailchimp vs. Mailjet vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailchimp vs. Elastic Email vs. MailerLite: Which Email Provider is Better in 2024?
- Amazon SES vs. SMTP.com vs. Elastic Email: Which Email Provider is Better in 2024?
- Amazon SES vs. Postmark vs. Socketlabs: Which Email Provider is Better in 2024?
- Amazon SES vs. SMTP.com vs. Mailjet: Which Email Provider is Better in 2024?
- Mailchimp vs. SMTP.com vs. Postmark: Which Email Provider is Better in 2024?
- Sendgrid vs. Mailchimp vs. Postmark: Which Email Provider is Better in 2024?
- Sendgrid vs. Elastic Email vs. MailerLite: Which Email Provider is Better in 2024?
- Mailchimp vs. Postmark vs. MailerLite: Which Email Provider is Better in 2024?
- Mailgun vs. Mailchimp vs. MailerLite: Which Email Provider is Better in 2024?
- Mailgun vs. SparkPost vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailgun vs. Amazon SES vs. MailerLite: Which Email Provider is Better in 2024?
- Sendgrid vs. Postmark vs. MailerLite: Which Email Provider is Better in 2024?
- SMTP.com vs Mailjet vs Netcore (formerly Pepipost): A Comparison of Email Providers in 2024
- Mailchimp vs Amazon SES vs Socketlabs: Which Email Provider is Best in 2024?
- Mailgun vs Sparkpost vs Socketlabs: Which Email Provider is Superior in 2024?
- Sendgrid vs Mailgun vs Mailjet: Which Email Provider Prevails in 2024?
- Mailgun vs Amazon SES vs SMTP.com: A Comparison of Email Providers in 2024
- Ooma vs Messagebird vs Gupshup: A Comparison of SMS Providers in 2024
- SMTP.com vs Postmark vs Elastic Email: A Comparison of Email Providers in 2024
- Sendgrid vs Postmark vs Socketlabs: A Comparison of Email Providers in 2024
- Bandwidth vs Vonage vs Karix: A Comparison of SMS Providers in 2024
- Mailgun vs SMTP.com vs Elastic Email: A Comparison of Email Providers in 2024
- Amazon SES vs Elastic Email vs Brevo (formerly Sendinblue): A Comparison of Email Providers in 2024
- 7 Best Amazon SNS Alternatives and Competitors in 2024: SMS Latency, Pricing, Compliance & API
- Postmark vs Socketlabs vs Mailerlite: A Comparison of Email Providers in 2024
- 7 Best Karix Alternatives and Competitors in 2024: SMS Latency, Pricing, Compliance & API
- Sendgrid vs Mailchimp vs Elastic Email: A Comparison of Email Providers in 2024
- Bandwidth vs Telnyx vs Karix: A Comparison of SMS Providers in 2024
- Mailgun vs. Mailchimp vs. Elastic Email: Which Email Provider is Better in 2024?
- Postmark vs. Mailjet vs. Elastic Email: Which Email Provider is Better in 2024?
- Sendgrid vs. Mailgun vs. Elastic Email: Which Email Provider is Better in 2024?
- Sendgrid vs. Postmark: Which Email Provider is Better in 2024?
- Vonage vs. MessageBird vs. Karix Comparison: Which SMS Provider is Better in 2024?
- Mailchimp vs. SparkPost: Which Email Provider is Better in 2024?
- SNS vs. Plivo vs. Exotel Comparison: Which SMS Provider is Better in 2024?
- Mailgun vs. SMTP.com vs. SparkPost: Which Email Provider is Better in 2024?
- Sendgrid vs. Mailgun vs. SMTP.com: Which Email Provider is Better in 2024?
- Telnyx vs. Ooma vs. MessageBird Comparison: Which SMS Provider is Better in 2024?
- SNS vs. Telnyx vs. Ring Central Comparison: Which SMS Provider is Better in 2024?
- SNS vs. Bandwidth vs. Telnyx Comparison: Which SMS Provider is Better in 2024?
- SNS vs. Twilio vs. Karix Comparison: Which SMS Provider is Better in 2024?
- Elastic Email vs. Socketlabs vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailgun vs. Mailchimp vs. Mailjet: Which Email Provider is Better in 2024?
- MessageBird vs. Karix vs. Exotel Comparison: Which SMS Provider is Better in 2024?
- Twilio vs. MessageBird vs. Exotel Comparison: Which SMS Provider is Better in 2024?
- Ring Central vs. Karix vs. Exotel Comparison: Which SMS Provider is Better in 2024?
- Telnyx vs. Vonage vs. Sinch Comparison: Which SMS Provider is Better in 2024?
- Telnyx vs. Ring Central vs. Vonage Comparison: Which SMS Provider is Better in 2024?
- Telnyx vs. Ooma vs. Exotel Comparison: Which SMS Provider is Better in 2024?
- Sendgrid vs. Mailjet vs. MailerLite: Which Email Provider is Better in 2024?
- Telnyx vs. Exotel vs. Gupshup Comparison: Which SMS Provider is Better in 2024?
- Ooma vs. Ring Central vs. Sinch Comparison: Which SMS Provider is Better in 2024?
- Twilio vs. Plivo vs. Sinch Comparison: Which SMS Provider is Better in 2024?
- Mailchimp vs. SMTP.com vs. MailerLite: Which Email Provider is Better in 2024?
- Bandwidth vs. MessageBird 2024
- Postmark vs. Elastic Email vs. Socketlabs: Which Email Provider is Better in 2024?
- Ooma vs. Twilio vs. MessageBird Comparison: Which SMS Provider is Better in 2024?
- Sendgrid vs. Postmark vs. Elastic Email: Which Email Provider is Better in 2024?
- Bandwidth vs. Telnyx vs. Ooma Comparison: Which SMS Provider is Better in 2024?
- Sendgrid vs. Mailchimp vs. SMTP.com: Which Email Provider is Better in 2024?
- Mailgun vs. Mailjet vs. MailerLite: Which Email Provider is Better in 2024?
- Mailjet vs. Socketlabs vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Sendgrid vs. Mailgun vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Amazon SES vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Vonage vs. Plivo 2023
- Mailchimp vs. Postmark vs. SparkPost: Which Email Provider is Better in 2024?
- Mailchimp vs. Elastic Email vs. Socketlabs: Which Email Provider is Better in 2024?
- Mailgun vs. Socketlabs vs. MailerLite: Which Email Provider is Better in 2024?
- Mailchimp vs. Mailjet vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailchimp vs. SMTP.com vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Amazon SES vs. SparkPost vs. Elastic Email: Which Email Provider is Better in 2024?
- Amazon SES vs. Mailjet vs. Socketlabs: Which Email Provider is Better in 2024?
- Mailchimp vs. Socketlabs vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- SMTP.com vs. Mailjet vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailchimp vs. Mailjet vs. SparkPost: Which Email Provider is Better in 2024?
- Sendgrid vs. SparkPost vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Sendgrid vs. SMTP.com vs. Socketlabs: Which Email Provider is Better in 2024?
- Sendgrid vs. SMTP.com vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Sendgrid vs. Elastic Email vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Amazon SES vs. Brevo (formerly SendinBlue) vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Amazon SES vs. SMTP.com vs. SparkPost: Which Email Provider is Better in 2024?
- Mailjet vs. Socketlabs vs. MailerLite: Which Email Provider is Better in 2024?
- Sendgrid vs. Mailjet vs. SparkPost: Which Email Provider is Better in 2024?
- Amazon SES vs. Postmark vs. Mailjet: Which Email Provider is Better in 2024?
- Mailchimp vs. SMTP.com vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Sendgrid vs. SMTP.com vs. MailerLite: Which Email Provider is Better in 2024?
- Mailchimp vs. Postmark vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailjet vs. Elastic Email vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailchimp vs. Elastic Email vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- SNS vs. Exotel 2024
- Sendgrid vs. Mailgun vs. MailerLite: Which Email Provider is Better in 2024?
- Mailchimp vs. Postmark vs. Mailjet: Which Email Provider is Better in 2024?
- Sendgrid vs. Netcore (formerly Pepipost) vs. MailerLite: Which Email Provider is Better in 2024?
- Sendgrid vs. Elastic Email vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Postmark vs. Elastic Email vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailgun vs. SMTP.com vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- SMTP.com vs. Postmark vs. SparkPost: Which Email Provider is Better in 2024?
- Postmark vs. Elastic Email vs. MailerLite: Which Email Provider is Better in 2024?
- SNS vs. MessageBird vs. Exotel: Which SMS Provider is Better in 2024?
- SparkPost vs. Elastic Email vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- SNS vs. Twilio vs. Vonage: Which SMS Provider is Better in 2024?
- RingCentral vs. Plivo vs. Sinch: Which SMS Provider is Better in 2024?
- Sendgrid vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- SNS vs. Plivo vs. MessageBird: Which SMS Provider is Better in 2024?
- Elastic Email vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- SNS vs. Twilio vs. Exotel: Which SMS Provider is Better in 2024?
- SNS vs. Ooma vs. Twilio: Which SMS Provider is Better in 2024?
- Bandwidth vs. RingCentral vs. Gupshup: Which SMS Provider is Better in 2024?
- SparkPost vs. Elastic Email vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Postmark vs. Elastic Email vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Amazon SES vs. Mailjet: Which Email Provider is Better in 2024?
- Mailgun vs. Socketlabs: Which Email Provider is Better in 2024?
- Mailgun vs. SparkPost vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- RingCentral vs. Gupshup 2024
- Vonage vs. Sinch 2023
- Plivo vs. Exotel 2023
- Twilio vs. Karix 2023
- Postmark vs. SparkPost vs. Socketlabs: Which Email Provider is Better in 2024?
- Mailjet vs. Elastic Email vs. Socketlabs: Which Email Provider is Better in 2024?
- Sinch vs. Gupshup 2023
- Elastic Email vs. Brevo (formerly SendinBlue) vs. MailerLite: Which Email Provider is Better in 2024?
- Mailjet vs. SparkPost vs. MailerLite: Which Email Provider is Better in 2024?
- Mailjet vs. Netcore (formerly Pepipost) vs. MailerLite: Which Email Provider is Better in 2024?
- Mailjet vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailgun vs. Mailchimp vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailchimp vs. Amazon SES vs. Elastic Email: Which Email Provider is Better in 2024?
- Amazon SES vs. SMTP.com vs. Postmark: Which Email Provider is Better in 2024?
- SparkPost vs. Brevo (formerly SendinBlue) vs. Socketlabs: Which Email Provider is Better in 2024?
- Amazon SES vs. SparkPost vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailgun vs. Amazon SES vs. SparkPost: Which Email Provider is Better in 2024?
- SMTP.com vs. SparkPost vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Brevo (formerly SendinBlue) vs. Socketlabs vs. MailerLite: Which Email Provider is Better in 2024?
- Sendgrid vs. SMTP.com vs. Mailjet: Which Email Provider is Better in 2024?
- Mailchimp vs. Elastic Email vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailchimp vs. Postmark vs. Elastic Email: Which Email Provider is Better in 2024?
- SMTP.com vs. Postmark vs. MailerLite: Which Email Provider is Better in 2024?
- Postmark vs. Brevo (formerly SendinBlue) vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Mailgun vs. Amazon SES: Which Email Provider is Better in 2024?
- Sendgrid vs. Socketlabs: Which Email Provider is Better in 2024?
- SMTP.com vs. MailerLite: Which Email Provider is Better in 2024?
- Mailchimp vs. Postmark: Which Email Provider is Better in 2024?
- Elastic Email vs. Socketlabs: Which Email Provider is Better in 2024?
- Netcore (formerly Pepipost) vs. MailerLite: Which Email Provider is Better in 2024?
- Mailgun vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Elastic Email vs. MailerLite: Which Email Provider is Better in 2024?
- Postmark vs. Mailjet: Which Email Provider is Better in 2024?
- Sendgrid vs. SparkPost: Which Email Provider is Better in 2024?
- How Investmint Increased Their Customer Retention Rates by 30% Using SuprSend's Real-Time Broadcast Capability
- SparkPost vs. Brevo (Formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailchimp vs. Amazon SES: Which Email Provider is Better in 2024?
- SparkPost vs. Elastic Email: Which Email Provider is Better in 2024?
- Postmark vs. Elastic Email: Which Email Provider is Better in 2024?
- SMTP.com vs. Postmark: Which Email Provider is Better in 2024?
- Mailgun vs. SparkPost: Which Email Provider is Better in 2024?
- Postmark vs. Socketlabs: Which Email Provider is Better in 2024?
- Mailjet vs. Brevo (Formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailchimp vs. ElasticEmail: Which Email Provider is Better in 2024?
- Telnyx vs. Gupshup 2024
- Postmark vs. MailerLite: Which Email Provider is Better in 2024?
- Amazon SES vs. MailerLite: Which Email Provider is Better in 2024?
- SparkPost vs. Socketlabs: Which Email Provider is Better in 2024?
- Sendgrid vs. Mailjet: Which Email Provider is Better in 2024?
- SMTP.com vs. Elastic Email: Which Email Provider is Better in 2024?
- Twilio vs. Exotel 2023
- Amazon SES vs. Postmark: Which Email Provider is Better in 2024?
- Sendgrid vs. Mailgun: Which Email Provider is Better in 2024?
- Mailjet vs. Socketlabs: Which Email Provider is Better in 2024?
- Socketlabs vs. Netcore (formerly Pepipost): Which Email Provider is Better in 2024?
- Sendgrid vs. AWS SES: Which Email Provider is Better in 2024?
- Mailchimp vs. Brevo (formerly SendinBlue): Which Email Provider is Better in 2024?
- Mailjet vs. Elastic Email: Which Email Provider is Better in 2024?
- SparkPost vs. MailerLite: Which Email Provider is Better in 2024?
- SNS vs. Plivo 2024
- Telnyx vs. Exotel 2024
- Bandwidth vs. Vonage 2024
- Vonage vs. Karix 2023
- Accelerating Customer Onboarding: How SuprSend Cut eShipz's Customer Onboarding Time by 3 Weeks
Similar to this, I run a developer-centric community on Slack. Where we discuss these kinds of topics, implementations, integrations, some truth bombs, weird chats, virtual meets, and everything that will help a developer remain sane ;) Afterall, too much knowledge can be dangerous too.
I'm inviting you to join our free community, take part in discussions, and share your freaking experience & expertise. You can fill out this form, and a Slack invite will ring your email in a few days. We have amazing folks from some of the great companies, and you wouldn't wanna miss interacting with them. Invite Form
Top comments (1)
Hi, I clicked the link bellow and got 404. Can you re-publish it?
dev.to/nikl/using-golang-to-build-...