mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			964 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			964 B
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. index:: type
 | 
						|
 | 
						|
.. _types:
 | 
						|
 | 
						|
*****
 | 
						|
Types
 | 
						|
*****
 | 
						|
 | 
						|
Solidity is a statically typed language, which means that the type of each
 | 
						|
variable (state and local) needs to be specified.
 | 
						|
Solidity provides several elementary types which can be combined to form complex types.
 | 
						|
 | 
						|
In addition, types can interact with each other in expressions containing
 | 
						|
operators. For a quick reference of the various operators, see :ref:`order`.
 | 
						|
 | 
						|
The concept of "undefined" or "null" values does not exist in Solidity, but newly
 | 
						|
declared variables always have a :ref:`default value<default-value>` dependent
 | 
						|
on its type. To handle any unexpected values, you should use the :ref:`revert function<assert-and-require>` to revert the whole transaction, or return a
 | 
						|
tuple with a second ``bool`` value denoting success.
 | 
						|
 | 
						|
.. include:: types/value-types.rst
 | 
						|
 | 
						|
.. include:: types/reference-types.rst
 | 
						|
 | 
						|
.. include:: types/mapping-types.rst
 | 
						|
 | 
						|
.. include:: types/operators.rst
 | 
						|
 | 
						|
.. include:: types/conversion.rst
 |