10.
program to find minimum and maximum using function
package main
import (
"fmt"
)
// Function to find minimum value
func findMin(arr []int) int {
min := arr[0]
for _, val := range arr {
if val < min {
min = val
}
}
return min
}
// Function to find maximum value
func findMax(arr []int) int {
max := arr[0]
for _, val := range arr {
if val > max {
max = val
}
}
return max
}
func main() {
numbers := []int{12, 45, 7, 89, 34, 22}
[Link]("Numbers:", numbers)
[Link]("Minimum number:", findMin(numbers))
[Link]("Maximum number:", findMax(numbers))
}
11. program to find nCr using recursive function
package main
import (
"fmt"
)
// Recursive function to calculate nCr
func nCr(n, r int) int {
if r == 0 || r == n {
return 1
}
return nCr(n-1, r-1) + nCr(n-1, r)
}
func main() {
n := 5
r := 2
[Link]("n = %d, r = %d\n", n, r)
[Link]("nCr = %d\n", nCr(n, r))
}
12. program to swap two numbers with a function returning two values
package main
import (
"fmt"
)
// Function to swap two numbers
func swap(a, b int) (int, int) {
return b, a
}
func main() {
x := 10
y := 20
[Link]("Before swapping:")
[Link]("x =", x, "y =", y)
// Call swap function
x, y = swap(x, y)
[Link]("After swapping:")
[Link]("x =", x, "y =", y)
}
13. program to demonstrate slices
package main
import (
"fmt"
)
func main() {
// Create an array
arr := [5]int{10, 20, 30, 40, 50}
// Create a slice from the array
slice1 := arr[1:4] // elements from index 1 to 3
[Link]("Array:", arr)
[Link]("Slice1 (arr[1:4]):", slice1)
// Append elements to slice
slice2 := append(slice1, 60, 70)
[Link]("Slice2 (after append):", slice2)
// Length and Capacity
[Link]("Length of Slice2:", len(slice2))
[Link]("Capacity of Slice2:", cap(slice2))
// Another slice directly
slice3 := []int{100, 200, 300}
[Link]("Slice3 (created directly):", slice3)
}
14. program for string operations
package main
import (
"fmt"
"strings"
)
func main() {
str1 := "Hello"
str2 := "World"
// Concatenation
result := str1 + " " + str2
[Link]("Concatenation:", result)
// Length of string
[Link]("Length of str1:", len(str1))
// Uppercase and Lowercase
[Link]("Uppercase:", [Link](result))
[Link]("Lowercase:", [Link](result))
// Prefix and Suffix check
[Link]("Has prefix 'He':", [Link](str1, "He"))
[Link]("Has suffix 'ld':", [Link](str2, "ld"))
// Splitting
words := [Link](result, " ")
[Link]("Split into words:", words)
// Joining
joined := [Link](words, "-")
[Link]("Joined with '-':", joined)
// Contains substring
[Link]("Contains 'lo':", [Link](str1, "lo"))
}
15. rogram to demonstrate string operations
package main
import (
"fmt"
"strings"
)
func main() {
str := " Go Programming Language "
// Trim spaces
trimmed := [Link](str)
[Link]("Original string:", str)
[Link]("After TrimSpace:", trimmed)
// Count occurrences
count := [Link](trimmed, "g")
[Link]("Count of 'g':", count)
// Index of substring
index := [Link](trimmed, "Program")
[Link]("Index of 'Program':", index)
// Compare strings
str1 := "GoLang"
str2 := "golang"
[Link]("Compare str1 and str2 (case-sensitive):", str1 == str2)
[Link]("Compare str1 and str2 (case-insensitive):",
[Link](str1, str2))
// Repeat string
repeated := [Link]("Go! ", 3)
[Link]("Repeated string:", repeated)
// Iterating over runes (characters)
[Link]("Characters in 'GoLang':")
for i, ch := range str1 {
[Link]("Index %d: %c\n", i, ch)
}
}