Book Image

Getting Started with V Programming

By : Navule Pavan Kumar Rao
4 (1)
Book Image

Getting Started with V Programming

4 (1)
By: Navule Pavan Kumar Rao

Overview of this book

A new language on the block, V comes with a promising set of features such as fast compilation and interoperability with other programming languages. This is the first book on the V programming language, packed with concise information and a walkthrough of all the features you need to know to get started with the language. The book begins by covering the fundamentals to help you learn about the basic features of V and the suite of built-in libraries available within the V ecosystem. You'll become familiar with primitive data types, declaring variables, arrays, and maps. In addition to basic programming, you'll develop a solid understanding of the building blocks of programming, including functions, structs, and modules in the V programming language. As you advance through the chapters, you'll learn how to implement concurrency in V Programming, and finally learn how to write test cases for functions. This book takes you through an end-to-end project that will guide you to build fast and maintainable RESTful microservices by leveraging the power of V and its built-in libraries. By the end of this V programming book, you'll be well-versed with the V programming language and be able to start writing your own programs and applications.
Table of Contents (19 chapters)
1
Section 1: Introduction to the V Programming Language
4
Section 2: Basics of V Programming
12
Section 3: Advanced Concepts in V Programming

Writing tests for functions with optional return types

We have learned that test functions must not specify a return type. But we have also learned that test function properties can be marked with the symbol ? when the test logic deals with functions with optional return types. To demonstrate this, consider the following greet function:

fn greet(name string) ?string {
     if name != '' {
           return 'Hello $name!'
     }
     return error('name not provided')
}

The greet function returns a ?string type. This means greet will return a string value only when a non-empty name is provided to it as an input argument. If the name is an empty string, it will return an error with the message name not provided. The following code shows the test case when the name parameter is provided with a non-empty string:

fn test_greet_given_a_name...