Как найти значение переменной поля строки в Go? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть две строки:

str1: «Соединение с% s разорвано и выдана ошибка% d»

str2: «Соединение с База данных не работает и ошибка 401 выбрасывается "

В str2, с помощью str1, я хочу выяснить, чтозначения в месте %s & %d в str2.

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете использовать fmt.Sscanf, которая является строковой и текущей версией fmt.Scan:

package main

import (
    "fmt"
)

func main() {
    str1 := "Connection to %s is down and error %d is thrown"
    str2 := "Connection to DataBase is down and error 401 is thrown"
    var s string
    var d int
    _, err := fmt.Sscanf(str2, str1, &s, &d)
    if err != nil {
        panic(err)
    }
    fmt.Println(s, d)
}

детская площадка: https://play.golang.org/p/5g5UcrHsunM

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

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