123456789101112131415161718192021222324252627282930313233 |
- package QuectelAT
- import (
- "strings"
- )
- type Sentence interface {
- DataType() string
- }
- func Parse(raw string) (Sentence Sentence) {
- // raw 去除 /r/n 去除空格
- raw = strings.TrimSpace(raw)
- if raw == "" || raw == "\r\n" || raw == "\r" || raw == "\n" || raw == " " {
- return NewNULL()
- }
- if raw == "OK" {
- return NewOK()
- }
- if raw == "ERROR" {
- return NewERROR()
- }
- if raw[0] == '+' {
- if strings.Contains(raw, "+CME ERROR:") {
- return NewERROR()
- }
- if strings.Contains(raw, "+CMS ERROR:") {
- return NewERROR()
- }
- return NewCMD(raw)
- }
- return NewText(raw)
- }
|