github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/code_quality/comments.go.expected (about) 1 // 2 // Package - transpiled by c4go 3 // 4 // If you have found any issues, please raise an issue at: 5 // https://github.com/Konstantin8105/c4go/ 6 // 7 8 package code_quality 9 10 import "unsafe" 11 import "github.com/Konstantin8105/c4go/noarch" 12 import "fmt" 13 14 // fibs - transpiled function from C4GO/tests/code_quality/comments.c:12 15 func fibs(n int32) []int32 { 16 if n <= 0 { 17 // Taked from TestBookSources/testdata/git-source/VasielBook/Глава_4/4.11/main.c 18 // Динамический массив как результат функции 19 // 20 // * Функция результатом возвращает динамический массив, 21 // * заполненный числами Фибоначчи 22 // 23 // Если указан некоректный раззмер массива 24 return nil 25 } 26 // Создание динамического массива 27 var p []int32 = make([]int32, uint32(n)*uint32(1)) 28 // Первый элемент массива 29 p[0] = 1 30 if n > 1 { 31 // Если в массиве есть второй элемент 32 p[1] = 1 33 } 34 // Индексная переменная 35 var k int32 36 { 37 // Заполнение прочих элементов массива 38 for k = 2; k < n; k++ { 39 p[k] = p[k-1] + p[k-2] 40 } 41 } 42 return p 43 } 44 45 // main - transpiled function from C4GO/tests/code_quality/comments.c:42 46 func main() { 47 defer noarch.AtexitRun() 48 // main function 49 // 50 // begin of program 51 // Указатель для записи результатов вызова 52 var nums []int32 53 // Переменная для записи размера массива 54 var size int32 55 // Считывание размера массива 56 fmt.Printf("Укажите размер массива: ") 57 noarch.Scanf([]byte("%d\x00"), c4goUnsafeConvert_int32(&size)) 58 // Индексная переменная 59 var k int32 60 { 61 // Отображение элементов массива 62 for k = 0; k < size; k++ { 63 noarch.Printf([]byte("| %d \x00"), nums[k]) 64 } 65 } 66 if size >= 1 { 67 fmt.Printf("|\n") 68 } 69 if nums != nil { 70 _ = nums 71 // Удаление массива из памяти 72 fmt.Printf("Динамический массив удалён\n") 73 } else { 74 fmt.Printf("Массив не был создан\n") 75 } 76 return 77 } 78 79 // c4goUnsafeConvert_int32 : created by c4go 80 func c4goUnsafeConvert_int32(c4go_name *int32) []int32 { 81 return (*[1000000]int32)(unsafe.Pointer(c4go_name))[:] 82 }