Как применить функцию для ввода целых чисел в Голанге - PullRequest
0 голосов
/ 31 мая 2019

Например, если входные данные были

1 3 4 5

все разделены пробелом, я хочу применить функцию возведения в квадрат каждого отдельного числа, а затем добавить его.

Я просто надеваюне знаю, как применить функцию к каждому номеру.Все, что я могу понять, это то, что я должен поместить числа в срез, а затем применить функцию к каждому из чисел.Я искал везде и не могу узнать, как это сделать.

в Python, я просто делаю это так, и я уже поместил значения в список с именем "n".

#The list is pasted from the initial puzzle
n=[10, 10, 9, 8, 10, 10, 10]

# The list is first squared
b = (list(map(lambda x:x**2,n)))

b становится новым списком, в котором функция выполняется для каждого числа.

Ответы [ 2 ]

0 голосов
/ 31 мая 2019
package main

import (
 "strconv"
 "fmt"
 "strings"
)

func main() {
stringwithnumbers := "1 2 3 4 5"
numberarray := strings.Split(stringwithnumbers, " ")

stringwithnumbers = ""

for _, number := range numberarray {
    numbernew,err := strconv.Atoi(number)
    if err != nil{
    return
    }

    numbernew = numbernew * 2
    stringwithnumbers += strconv.Itoa(numbernew)
    stringwithnumbers += " "
}

stringwithnumbers = strings.Trim(stringwithnumbers, " ")

//You can check the result...
fmt.Print(stringwithnumbers)
}

Вы можете проверить код и свои изменения здесь: https://play.golang.org/

0 голосов
/ 31 мая 2019

Вы можете сделать это так, если ваши целые числа на самом деле представляют собой строку, разделенную пробелами.

package main

import "fmt"
import "strings"
import "strconv"

func main() {
    numbers := "1 3 4 5"
    var n []int
    for _, v := range strings.Fields(numbers) {
        i, err := strconv.Atoi(v)
        if err != nil {
            fmt.Println(err.Error())
            break
        }
        n = append(n, i*i)
    }
    fmt.Println(n)
}

https://play.golang.org/p/JcivNd29Gzg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...