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

Channel methods

V exposes some public methods to control a channel's behavior. These methods include the following:

  • try_push()
  • try_pop()
  • close()

Except for the close() method, the try_push() and try_pop() methods have a return value, which is a built-in enum type called ChanState. The ChanState enum has three enum values:

  • not_ready
  • closed
  • success

Performing try_push() or try_pop() on a channel can return one of the three aforementioned states. In this section, we will learn how to work with the try_push() function with buffered and unbuffered channels and then we cover how to work with the try_pop() and close() methods.

Using try_push() on unbuffered channels

try_push() gracefully pushes data into the channel and returns the status in the form of an enum value from ChanState. The try_push() method accepts values of the type that the channel accepts. For an unbuffered channel, the try_push() operation returns a .not_ready value...