07_collections directory created

This commit is contained in:
Vinicius Silva 2023-12-26 20:48:48 -03:00
parent fc624c5318
commit 45227f7039
1 changed files with 86 additions and 0 deletions

86
07_collections/arrays.v Normal file
View File

@ -0,0 +1,86 @@
pub fn main()
{
mut nums := [1,2,3]
println(nums)
println(nums[0])
println(nums[1])
nums[1] = 5
println(nums)
// ===================================== //
nums << 4
println(nums)
mut names := ['John']
names << 'Peter'
names << 'Sam'
println(names)
names1 := ['John', 'Peter', 'Sam']
println('Alex' in names1)
// ===================================== //
mut nums1 := [1,2,3]
println('len ${nums1.len}')
println('cap ${nums1.cap}')
nums1 = []
println('len ${nums1.len}')
println('cap ${nums1.cap}')
// ===================================== //
mut a := []int{len: 10000, cap: 30000, init: 3}
println(a[0])
// ===================================== //
arr := []int{len: 5, init: -1} // [-1,-1,-1,-1,-1]
users := []int{} // Empty
assert arr.len == 5
assert users == []
mut numbers := []int{cap: 1000}
println(numbers.len)
for i in 0 .. 1000 {
numbers << i
}
// ===================================== //
count := []int{len: 4, init: index}
assert count == [0,1,2,3]
mut square := []int{len: 6, init: index * index}
assert square[2] == 4
mut object_list := []ObjectSumType{}
object_list << Point{1,1}
object_list << Line{
p1 : Point{3,3}
p2 : Point{4,4}
}
dump(object_list)
}
type ObjectSumType = Line | Point
struct Point{
x int
y int
}
struct Line{
p1 Point
p2 Point
}