Skip to content

Commit fd92f7b

Browse files
author
Rajeev Kumar Singh
committed
restructured code
1 parent 7e30b32 commit fd92f7b

File tree

72 files changed

+289
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+289
-37
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

tutorial7-slices/slice_append.go renamed to 07-slices/slice_append.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package main
33
import "fmt"
44

55
func main() {
6-
var slice1 = []string{"C", "C++", "Java"}
7-
var slice2 = append(slice1, "Python", "Ruby", "Go")
6+
slice1 := []string{"C", "C++", "Java"}
7+
slice2 := append(slice1, "Python", "Ruby", "Go")
88

99
fmt.Printf("slice1 = %v, len = %d, cap = %d\n", slice1, len(slice1), cap(slice1))
1010
fmt.Printf("slice2 = %v, len = %d, cap = %d\n", slice2, len(slice2), cap(slice2))

tutorial7-slices/slice_append_capacity.go renamed to 07-slices/slice_append_capacity.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package main
33
import "fmt"
44

55
func main() {
6-
var slice1 = make([]string, 3, 10)
6+
slice1 := make([]string, 3, 10)
77
copy(slice1, []string{"C", "C++", "Java"})
88

9-
var slice2 = append(slice1, "Python", "Ruby", "Go")
9+
slice2 := append(slice1, "Python", "Ruby", "Go")
1010

1111
fmt.Printf("slice1 = %v, len = %d, cap = %d\n", slice1, len(slice1), cap(slice1))
1212
fmt.Printf("slice2 = %v, len = %d, cap = %d\n", slice2, len(slice2), cap(slice2))
File renamed without changes.

tutorial7-slices/slice_append_to_another_slice.go renamed to 07-slices/slice_append_to_another_slice.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package main
33
import "fmt"
44

55
func main() {
6-
var slice1 = []string{"Jack", "John", "Peter"}
7-
var slice2 = []string{"Bill", "Mark", "Steve"}
6+
slice1 := []string{"Jack", "John", "Peter"}
7+
slice2 := []string{"Bill", "Mark", "Steve"}
88

9-
var slice3 = append(slice1, slice2...)
9+
slice3 := append(slice1, slice2...)
1010

1111
fmt.Println("slice1 = ", slice1)
1212
fmt.Println("slice2 = ", slice2)

tutorial7-slices/slice_capacity_extend.go renamed to 07-slices/slice_capacity_extend.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package main
33
import "fmt"
44

55
func main() {
6-
var s = []int{10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
6+
s := []int{10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
77
fmt.Println("Original Slice")
88
fmt.Printf("s = %v, len = %d, cap = %d\n", s, len(s), cap(s))
99

tutorial7-slices/slice_copy.go renamed to 07-slices/slice_copy.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package main
33
import "fmt"
44

55
func main() {
6-
var src = []string{"Sublime", "VSCode", "IntelliJ", "Eclipse"}
7-
var dest = make([]string, 2)
6+
src := []string{"Sublime", "VSCode", "IntelliJ", "Eclipse"}
7+
dest := make([]string, 2)
88

9-
var numElementsCopied = copy(dest, src)
9+
numElementsCopied := copy(dest, src)
1010

1111
fmt.Println("src = ", src)
1212
fmt.Println("dest = ", dest)

tutorial7-slices/slice_defaults.go renamed to 07-slices/slice_defaults.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package main
33
import "fmt"
44

55
func main() {
6-
var a = [5]string{"C", "C++", "Java", "Python", "Go"}
6+
a := [5]string{"C", "C++", "Java", "Python", "Go"}
77

8-
var slice1 = a[1:4]
9-
var slice2 = a[:3]
10-
var slice3 = a[2:]
11-
var slice4 = a[:]
8+
slice1 := a[1:4]
9+
slice2 := a[:3]
10+
slice3 := a[2:]
11+
slice4 := a[:]
1212

1313
fmt.Println("Array a = ", a)
1414
fmt.Println("slice1 = ", slice1)
File renamed without changes.

07-slices/slice_iterate.go

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
countries := []string{"India", "America", "Russia", "England"}
7+
8+
for i := 0; i < len(countries); i++ {
9+
fmt.Println(countries[i])
10+
}
11+
}

07-slices/slice_iterate_range.go

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
primeNumbers := []int{2, 3, 5, 7, 11, 13, 17, 19, 23, 29}
7+
8+
for index, number := range primeNumbers {
9+
fmt.Printf("PrimeNumber(%d) = %d\n", index+1, number)
10+
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
numbers := []float64{3.5, 7.4, 9.2, 5.4}
7+
8+
sum := 0.0
9+
for _, number := range numbers {
10+
sum += number
11+
}
12+
13+
fmt.Printf("Total Sum = %.2f\n", sum)
14+
}

tutorial7-slices/slice_length_capacity.go renamed to 07-slices/slice_length_capacity.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package main
33
import "fmt"
44

55
func main() {
6-
var a = [6]int{10, 20, 30, 40, 50, 60}
7-
var s = a[1:4]
6+
a := [6]int{10, 20, 30, 40, 50, 60}
7+
s := a[1:4]
88

99
fmt.Printf("s = %v, len = %d, cap = %d\n", s, len(s), cap(s))
1010
}
File renamed without changes.

tutorial7-slices/slice_make.go renamed to 07-slices/slice_make.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ import "fmt"
44

55
func main() {
66
// Creates an array of size 10, slices it till index 5, and returns the slice reference
7-
var s = make([]int, 5, 10)
7+
s := make([]int, 5, 10)
88
fmt.Printf("s = %v, len = %d, cap = %d\n", s, len(s), cap(s))
99
}

tutorial7-slices/slice_modify.go renamed to 07-slices/slice_modify.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package main
33
import "fmt"
44

55
func main() {
6-
var a = [7]string{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}
6+
a := [7]string{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}
77

8-
var slice1 = a[1:]
9-
var slice2 = a[3:]
8+
slice1 := a[1:]
9+
slice2 := a[3:]
1010

1111
fmt.Println("------- Before Modifications -------")
1212
fmt.Println("a = ", a)

tutorial7-slices/slice_of_slices.go renamed to 07-slices/slice_of_slices.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package main
33
import "fmt"
44

55
func main() {
6-
var s = [][]string{
6+
s := [][]string{
77
{"James Smith", "United States"},
88
{"Maria Gracia", "England"},
99
{"Sarah Johnson", "France"},
File renamed without changes.

07-slices/slicing_a_slice.go

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
cities := []string{"New York", "London", "Chicago", "Beijing", "Delhi", "Mumbai", "Bangalore", "Hyderabad", "Hong Kong"}
7+
8+
asianCities := cities[3:]
9+
indianCities := asianCities[1:5]
10+
11+
fmt.Println("cities = ", cities)
12+
fmt.Println("asianCities = ", asianCities)
13+
fmt.Println("indianCities = ", indianCities)
14+
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

09-pointers/pointer_arithmetic.go

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package main
2+
3+
func main() {
4+
var x = 67
5+
var p = &x
6+
7+
var p1 = p + 1 // Compiler Error: invalid operation
8+
}

09-pointers/pointer_declaration.go

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
var p *int
7+
8+
fmt.Println("p = ", p)
9+
}

09-pointers/pointer_dereferencing.go

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
var a = 100
7+
var p = &a
8+
9+
fmt.Println("a = ", a)
10+
fmt.Println("p = ", p)
11+
fmt.Println("*p = ", *p)
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
var a = 1000
7+
var p = &a
8+
9+
fmt.Println("a (before) = ", a)
10+
11+
// Changing the value stored in the pointed variable through the pointer
12+
*p = 2000
13+
14+
fmt.Println("a (after) = ", a)
15+
}

09-pointers/pointer_equality.go

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
var a = 75
7+
var p1 = &a
8+
var p2 = &a
9+
10+
if p1 == p2 {
11+
fmt.Println("Both pointers p1 and p2 point to the same variable.")
12+
}
13+
14+
}

09-pointers/pointer_initialize.go

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
var a = 5.67
7+
var p = &a
8+
9+
fmt.Println("Value stored in variable a = ", a)
10+
fmt.Println("Address of variable a = ", &a)
11+
fmt.Println("Value stored in variable p = ", p)
12+
}

09-pointers/pointer_to_pointer.go

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
var a = 7.98
7+
var p = &a
8+
var pp = &p
9+
10+
fmt.Println("a = ", a)
11+
fmt.Println("address of a = ", &a)
12+
13+
fmt.Println("p = ", p)
14+
fmt.Println("address of p = ", &p)
15+
16+
fmt.Println("pp = ", pp)
17+
18+
// Dereferencing a pointer to pointer
19+
fmt.Println("*pp = ", *pp)
20+
fmt.Println("**pp = ", **pp)
21+
}

11-functions/blank-identifier.go

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"math"
6+
)
7+
8+
func getStockPriceChange(prevPrice, currentPrice float64) (float64, float64) {
9+
change := currentPrice - prevPrice
10+
percentChange := (change / prevPrice) * 100
11+
return change, percentChange
12+
}
13+
14+
func main() {
15+
prevStockPrice := 80000.0
16+
currentStockPrice := 120000.0
17+
18+
change, _ := getStockPriceChange(prevStockPrice, currentStockPrice)
19+
20+
if change < 0 {
21+
fmt.Printf("The Stock Price decreased by $%.2f\n", math.Abs(change))
22+
} else {
23+
fmt.Printf("The Stock Price increased by $%.2f\n", change)
24+
}
25+
}

11-functions/function-declaration.go

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func avg(x float64, y float64) float64 {
6+
return (x + y) / 2
7+
}
8+
9+
func main() {
10+
x := 5.75
11+
y := 6.25
12+
13+
result := avg(x, y)
14+
15+
fmt.Printf("Average of %.2f and %.2f = %.2f\n", x, y, result)
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package main
2+
3+
import (
4+
"errors"
5+
"fmt"
6+
"math"
7+
)
8+
9+
func getStockPriceChangeWithError(prevPrice, currentPrice float64) (float64, float64, error) {
10+
if prevPrice == 0 {
11+
err := errors.New("Previous price cannot be zero")
12+
return 0, 0, err
13+
}
14+
change := currentPrice - prevPrice
15+
percentChange := (change / prevPrice) * 100
16+
return change, percentChange, nil
17+
}
18+
19+
func main() {
20+
prevStockPrice := 0.0
21+
currentStockPrice := 100000.0
22+
23+
change, percentChange, err := getStockPriceChangeWithError(prevStockPrice, currentStockPrice)
24+
25+
if err != nil {
26+
fmt.Println("Sorry! There was an error: ", err)
27+
} else {
28+
if change < 0 {
29+
fmt.Printf("The Stock Price decreased by $%.2f which is %.2f%% of the prev price\n", math.Abs(change), math.Abs(percentChange))
30+
} else {
31+
fmt.Printf("The Stock Price increased by $%.2f which is %.2f%% of the prev price\n", change, percentChange)
32+
}
33+
}
34+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"math"
6+
)
7+
8+
func getStockPriceChange(prevPrice, currentPrice float64) (float64, float64) {
9+
change := currentPrice - prevPrice
10+
percentChange := (change / prevPrice) * 100
11+
return change, percentChange
12+
}
13+
14+
func main() {
15+
prevStockPrice := 0.0
16+
currentStockPrice := 100000.0
17+
18+
change, percentChange := getStockPriceChange(prevStockPrice, currentStockPrice)
19+
20+
if change < 0 {
21+
fmt.Printf("The Stock Price decreased by $%.2f which is %.2f%% of the prev price\n", math.Abs(change), math.Abs(percentChange))
22+
} else {
23+
fmt.Printf("The Stock Price increased by $%.2f which is %.2f%% of the prev price\n", change, percentChange)
24+
}
25+
}

0 commit comments

Comments
 (0)