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

Structs as trailing literal arguments to a function

As V does not support default function arguments or named arguments, we can use trailing struct literal syntax. In V, you can define functions that accept structs as input arguments. Therefore, we can pass a struct with default values to a function that accepts the struct as an input argument.

For example, let's create a function that creates a Note struct to remind us to buy groceries. This function will take the Note struct provided as an input argument and create a new Note struct that prepends a phrase, Buy Groceries:, to the message field of every new note being created, as follows:

fn new_grocery_note(n Note) &Note {
        return &Note{
                id: n.id
                message: 'Buy Groceries...