Book Image

Hands-On Go Programming

By : Tarik Guney
Book Image

Hands-On Go Programming

By: Tarik Guney

Overview of this book

<p>With its C-like speed, simplicity, and power for a growing number of system-level programming domains, Go has become increasingly popular among programmers. Hands-On Go Programming teaches you the Go programming by solving commonly faced problems with the help of recipes. You will start by installing Go binaries and get familiar with the tools used for developing an application. Once you have understood these tasks, you will be able to manipulate strings and use them in built-in function constructs to create a complex value from two floating-point values. You will discover how to perform an arithmetic operation date and time, along with parsing them from string values. In addition to this, you will cover concurrency in Go, performing various web programming tasks, implementing system programming, reading and writing files, and honing many fundamental Go programming skills such as proper error handling and logging, among others. Whether you are an expert programmer or newbie, this book helps you understand how various answers are programmed in the Go language.</p>
Table of Contents (18 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributor
Preface
Index

Creating custom error types


Let's start with creating your custom error type. If you come from languages such as C# and Java, you may find the error mechanism a little different in Go. Moreover, the way you create your own custom error is very simple because Go is a duck-typed language, which means that you are good to go as long as your struct satisfies an interface. Let's go ahead and create our own custom error using a new type. So, I will have two fields, ShortMessage and the DetailedMessage of string type. You can have as many fields as you want, to capture more information about your errors. Furthermore, to satisfy the error interface, I'm going to implement a new method, *MyError, which will return a string value, and we can output this error to either our console or some log file.

 

Then, what I'm going to do is to return the error message. So, the way you do this is very simple: you can just return this error type from your method. Let's imagine that we have a doSomething method that...