Datatypes are the shapes of data manipulated by an application. Opa uses datatypes to perform sanity and security checks on your application. Opa also uses datatypes to perform a number of optimizations. There are three basic datatypes in Opa: integers, floats, and strings. Also, you can define your type with the keyword type
:
type Student = {string name, int age, float score} Student stu = { name:"li", age:28, score:80.0}
Actually, thanks to a mechanism of type inference, Opa can work in most cases even if you do not provide any type information. For example:
x = 10 // the same as: int x = 10 x = {a:1,b:2} // the type of x is: {a:int, b:int}
So in the rest of this chapter, we will not address type information before variable, but you should know what type it is in your mind. In actual coding, a best practice is to provide the datatypes of our main functions and to let the inference engine pick up the datatypes of all the local variables and minor functions.