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

Spawning a void function to run concurrently

In this section, we will write a simple function that does not have any return type. The function just prints a message to the console. Then, we will spawn this function so that it runs in a concurrent thread using the go keyword, as follows:

module main
fn greet() {
    println('Hello from other side!')
}
fn main() {
    h := go greet()
    println(typeof(h).name) // thread
}

In the preceding code, the h variable provides access to handle the concurrent task. The h variable is of the thread type in the preceding code. The output of the preceding code could be any of the following outputs:

The following is the first output you may receive:

thread

The following is the second output you may receive:

thread
Hello from other side!

You will see either of these outputs, which appear to be inconsistent outcomes from the program. Notice that the greet() function...