Prácticas, Encontrar el valor máximo de una lista

¿Cómo encontrar el valor máximo de una lista?

Para encontrar el valor máximo de una lista vamos a implementar el siguiente algoritmo.

def maximo_de_lista(A):

    maximo = A[0]

    for i = 1 to len(A)
        if A[i] > maximo
            maximo = A[i]

    return maximo

Ahora implementamos la búsqueda del valor máximo en Go.

package main

import "fmt"

// creamos un tipo personalizado para almacenar la lista
type Nums []int

// creamos una función que busque el valor maximo
func (nums Nums) Maximo() int {

    // por default maximo es el primer valor de la lista
	max := nums[0]

    // recorremos la lista de i = 1 a len(nums)
	for i := 1; i < len(nums); i++ {

        // si el valor actual es mayor que max actualizamos
        // max a este valor
		if nums[i] > max {
			max = nums[i]
		}

	}

    // retornar valor maximo
	return max

}

func main() {

	nums := Nums{4, 3, 5, 7, 1, 7, 9, 3, 2, 6, 5, 1, 0, 3, 6}

	fmt.Println("El valor máximo es:", nums.Maximo())

}

Salida.

El valor máximo es: 9