Skip to content

Instantly share code, notes, and snippets.

@GhazeyAhmed
GhazeyAhmed / recover-return
Created June 25, 2022 17:49
recover-return
package main
import "fmt"
func main() {
s := foo()
fmt.Printf("main received: %q\n", s)
}
func foo() (s string) {
@GhazeyAhmed
GhazeyAhmed / recover-return-value
Created June 25, 2022 17:43
recover-return-value
package main
import "fmt"
func main() {
s := foo()
fmt.Printf("main received: %q\n", s)
}
func foo() string {
@GhazeyAhmed
GhazeyAhmed / panic-recover
Created June 25, 2022 15:59
panic-recover
import "fmt"
func main() {
freakOut()
fmt.Println("Exiting normally")
}
func freakOut() {
defer calmDown()
panic("Oh no")
@GhazeyAhmed
GhazeyAhmed / DeferWithPanic
Created June 25, 2022 15:36
DeferWithPanic
package main
import "fmt"
func main() {
One()
}
func One() {
Two()
@GhazeyAhmed
GhazeyAhmed / StackTrace
Created June 25, 2022 15:31
StackTrace
package main
func main() {
One()
}
func One() {
Two()
}
func Two() {
@GhazeyAhmed
GhazeyAhmed / GetFloatsDefer
Created May 22, 2022 22:48
Get Floats Defer
func GetFloats(fileName string)([]float64, error){
var numbers []float64
file, err := OpenFile(fileName)
if err != nil {
return nil, err
}
defer CloseFile(file)
scanner := bufio.NewScanner(file)
for scanner.Scan(){
@GhazeyAhmed
GhazeyAhmed / ReadNumbersMain
Created May 22, 2022 15:51
Read Numbers Main
func main() {
numbers, err := GetFloats("numbers.txt")
if err != nil {
log.Fatal(err)
}
var sum float64 = 0
for _, number := range numbers {
sum += number
}
@GhazeyAhmed
GhazeyAhmed / ReadNumbersFromFile
Created May 22, 2022 15:21
Read number from file golang
package main
import (
"bufio"
"fmt"
"log"
"os"
"strconv"
)