From 7c8c1c5d8c6fefa9bb102d0fcd8daed9df55670b Mon Sep 17 00:00:00 2001 From: qydysky Date: Sun, 1 Nov 2020 03:08:13 +0800 Subject: [PATCH] 90 --- Get.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Get.go b/Get.go index 0924d3a..8e32842 100644 --- a/Get.go +++ b/Get.go @@ -26,10 +26,14 @@ func Get(r Rval) (o *get){ func (i *get) S(stratS,endS string, startI,lenI int) (o *get) { o = i + o.RS,o.Err = SS(string(o.body), stratS, endS, startI, lenI) + return +} - if stratS == "" && startI == 0 {o.Err = errors.New("no symbol to start");return} - if endS == "" && lenI == 0 {o.Err = errors.New("no symbol to stop");return} - s := string(o.body) +func SS(source,stratS,endS string, startI,lenI int) (string,error) { + if stratS == "" && startI == 0 {return "", errors.New("no symbol to start")} + if endS == "" && lenI == 0 {return "", errors.New("no symbol to stop")} + s := source var ts,te int @@ -39,7 +43,7 @@ func (i *get) S(stratS,endS string, startI,lenI int) (o *get) { if startI < len(s){ts = startI} } - if ts == 0 {o.Err = errors.New("no start symbol in " + s);return} + if ts == 0 {return "", errors.New("no start symbol in " + s)} if endS != "" { if tmp := strings.Index(s[ts:], endS);tmp != -1{te = ts + tmp} @@ -47,9 +51,7 @@ func (i *get) S(stratS,endS string, startI,lenI int) (o *get) { if startI + lenI < len(s){te = startI + lenI} } - if te == 0 {o.Err = errors.New("no stop symbol in " + s);return} + if te == 0 {return "", errors.New("no stop symbol in " + s)} - o.RS = s[ts:te] - o.Err = nil - return + return s[ts:te], nil } -- 2.39.2