Pārlūkot izejas kodu

Merge branch 'master' of dtelenkov:Home/codewars
B

unknown 3 nedēļas atpakaļ
vecāks
revīzija
caa9a6395d

+ 15 - 4
books/go_head_first/misc/pass_file.go

@@ -9,16 +9,27 @@ import (
 	"strings"
 )
 
-func main() {
-	fmt.Print("Enter a grade: ")
+func getFloat() (float64, error) {
 	reader := bufio.NewReader(os.Stdin)
 	input, err := reader.ReadString('\n')
 	if err != nil {
-		log.Fatal(err)
+		return 0, err
 	}
 
 	input = strings.TrimSpace(input)
-	grade, err := strconv.ParseFloat(input, 64)
+	number, err := strconv.ParseFloat(input, 64)
+	if err != nil {
+		return 0, err
+	}
+	return number, nil
+}
+
+func main() {
+	fmt.Print("Enter a grade: ")
+	grade, err := getFloat()
+	if err != nil {
+		log.Fatal(err)
+	}
 
 	var status string
 	if grade >= 60 {

+ 49 - 0
books/go_head_first/misc/pointer.go

@@ -0,0 +1,49 @@
+package main
+
+import (
+	"fmt"
+)
+
+func createPointer() *float64 {
+	var myFloat = 98.5
+	return &myFloat
+}
+
+func double(number *int) {
+	*number *= 2
+}
+
+func negate(myBoolean *bool) {
+	*myBoolean = !*myBoolean
+}
+
+func main() {
+	truth := true
+	negate(&truth)
+	fmt.Println(truth)
+	lies := false
+	negate(&lies)
+	fmt.Println(lies)
+	/*
+		var myFloatPointer *float64 = createPointer()
+		fmt.Println(*myFloatPointer)
+		var foo int = 2
+		double(&foo)
+		fmt.Println(foo)
+	*/
+	/*
+		var myInt int
+		fmt.Println(reflect.TypeOf(&myInt))
+		var myFloat float64
+		fmt.Println(reflect.TypeOf(&myFloat))
+		var myBool bool
+		fmt.Println(reflect.TypeOf(&myBool))
+	*/
+	/*
+		myInt := 42
+		var myIntPointer *int
+		myIntPointer = &myInt
+		fmt.Println(*myIntPointer)
+	*/
+
+}

+ 37 - 0
books/go_head_first/misc/tocelsius.go

@@ -0,0 +1,37 @@
+// tocelsius преобразует температуру в крадусах
+// по Фаренгейту в градусы по Цельсию
+package main
+
+import (
+	"bufio"
+	"fmt"
+	"log"
+	"os"
+	"strconv"
+	"strings"
+)
+
+func getFloat() (float64, error) {
+	reader := bufio.NewReader(os.Stdin)
+	input, err := reader.ReadString('\n')
+	if err != nil {
+		return 0, err
+	}
+
+	input = strings.TrimSpace(input)
+	number, err := strconv.ParseFloat(input, 64)
+	if err != nil {
+		return 0, err
+	}
+	return number, nil
+}
+
+func main() {
+	fmt.Print("Enter a temperature in Fahrenheit: ")
+	fahrenheit, err := getFloat()
+	if err != nil {
+		log.Fatal(err)
+	}
+	celsius := (fahrenheit - 32) * 5 / 9
+	fmt.Printf("%0.2f degrees Celsius\n", celsius)
+}