package main import ( "fmt" "regexp" "strings" "time" ) func main() { var mbslice = []string{"samsung", "htc", "motorola", "moto", "gt-", "sh-", "sgh-", "sch-", "sph-", "lg", "sonyericsson", "sony-ericsson", "sony ericsson", "huawei", "zte", "lenovo", "semc", "xiaomi", "dopod", "blackberry", "tianyu", "coolpad", "yulong", "sharp", "t-mobile", "tmobile", "acer", "verizon", "k-touch", "ktouch", "blur", "sprint", "telechips", "rockchip", "series60", "dell", "meizu", "garmin-asus", "nec", "oppo", "rim", "bambook", "alcatel", "apanda", "sgh", "docomo", "google", "tcl", "tct", "ty-", "asus", "aux", "motus", "sky", "viewsonic", "maui", "toshiba", "bbk", "vivo", "aigo", "philips", "amoi", "hisense", "sony", "gionee", "doov", "koobee", "hyundai", "changhong", "pantech", "mot", "haier", "thl", "cube", "yusu", "hesens", "hosin", "hp", "ccpo", "cher", "onda", "newpad", "newman", "eben", "ebest", "eton", "voto", "malata", "delta", "ainol", "vollo", "cooco", "saihon", "postcom", "kttech", "chuwi", "kpt", "ployer", "infotmic", "hot", "roadrover", "leepoo", "ephone", "afti", "birda", "bird", "bifer", "hedy", "softwiner", "hlmobile", "ramos", "huaqin", "jls", "zhane", "rayhov", "wishway", "sxz", "innos", "longcheer", "lovme", "kingsun", "qobo", "sprd", "bestsonny", "hoow", "my", "moral", "broncho", "hkcsl_cht", "ifive", "amazon", "konka", "teclast", "t-smart", "alps", "baiducloud", "wst", "bl", "100jia", "100jia v6", "lumia", "10moons", "moons", "spreadtrum", "3gnet", "kyocera", "uniscope", "hct", "kliton", "klt", "xmi", "xmsd", "zopo", "oneplus", "OnePlus", "micromax", "mparty", "m.party", "paid", "paidui", "ximi", "mito", "cayon", "cross", "snda", "yunduomi", "exynos", "nicai", "ouki", "dewav", "compal", "holatek", "iobey", "xolo", "bimi", "vmi", "allview", "epade", "fmee", "fomi", "foxconn", "foxconn international holdings limited", "sanei", "xdl", "gfive", "zoobii", "zb", "saga", "qmobile", "sanmeng", "jeasung", "advan", "ares", "intel", "akai", "allsmartest", "hxtong", "infocus", "wondermedia", "iball", "laime", "istone", "meetuu", "yoord", "mstar semiconductor", "aoledior", "aoson", "aqua", "intex", "archos", "chinaleap", "ouge", "basicom", "baiyu", "benwee", "best sonny", "jxd", "blu", "boway", "BOWAY", "bror", "phicomm", "miu", "casio", "callbar", "cikaa", "colorfly", "kmo", "coww", "conor", "vertu", "coolux", "coship", "crave", "cenxin", "cymi", "xiami", "great", "simdo", "daq", "DAQ", "datang", "desay", "detel", "lingwin", "doeasy", "domi", "dty", "dowee", "pioneer", "huamei", "intki", "suning", "mipai", "miki", "guangxin", "eoom", "ctyon", "fadar", "feimiao", "mgo", "enspert", "getek", "sanmei", "godonie", "goly", "gigabyte", "huomi", "hongda", "hasee", "hike", "hongmi", "iguo", "infinix", "lava", "iusai", "jiayu", "jiimee", "karbonn", "kopo", "koridy", "kevoo", "kumai", "laaboo", "zomi", "sict", "ytone", "lanmi", "leagoo", "loobee", "lordor", "cmdc", "CMDC", "mastone", "meeg", "meitu", "minte", "mlled", "mofut", "mogu", "moii", "moloo", "ireadygo", "iReadyGo", "geniatech", "nokia", "vido", "yuandao", "itouch", "noain", "nubia", "obee", "qualcomm", "orange", "OUKI", "pole", "gocan", "forme", "symphony", "voda", "pulid", "marvell", "owwo", "humi", "qedirs", "qiangzhe", "rlt", "heeyu", "hualing", "sunvan", "smartisan", "soaiy", "sugar", "SUGAR", "tensent", "ubtel", "unitone", "uoogou", "utime", "veion", "vimoo", "vsun", "nvidia", "letv", "x-apple", "cosun", "yepen", "yuyi", "zhuomi", "zuoku", "opsson", "dostyle", "aole", "nomi", "ioco", "upoo", "gxq", "qmi", "ampe", "coosee", "guomi", "sancup", "shy", "sbyh", "oplus", "dakele", "viettel", "iriver", "balong", "zdreal", "ordro", "hkc", "aoc", "doogee"} var mbstring string = `samsung|htc|motorola|moto|gt-|sh-|sgh-|sch-|sph-|lg|sonyericsson|sony-ericsson|sony ericsson|huawei|zte|lenovo|semc|xiaomi|dopod|blackberry|tianyu|coolpad|yulong|sharp|t-mobile|tmobile|acer|verizon|k-touch|ktouch|blur|sprint|telechips|rockchip|series60|dell|meizu|garmin-asus|nec|oppo|rim|bambook|alcatel|apanda|sgh|docomo|google|tcl|tct|ty-|asus|aux|motus|sky|viewsonic|maui|toshiba|bbk|vivo|aigo|philips|amoi|hisense|sony|gionee|doov|koobee|hyundai|changhong|pantech|mot|haier|thl|cube|yusu|hesens|hosin|hp|ccpo|cher|onda|newpad|newman|eben|ebest|eton|voto|malata|delta|ainol|vollo|cooco|saihon|postcom|kttech|chuwi|kpt|ployer|infotmic|hot|roadrover|leepoo|ephone|afti|birda|bird|bifer|hedy|softwiner|hlmobile|ramos|huaqin|jls|zhane|rayhov|wishway|sxz|innos|longcheer|lovme|kingsun|qobo|sprd|bestsonny|hoow|my|moral|broncho|hkcsl_cht|ifive|amazon|konka|teclast|t-smart|alps|baiducloud|wst|bl|100jia|100jia v6|lumia|10moons|moons|spreadtrum|3gnet|kyocera|uniscope|hct|kliton|klt|xmi|xmsd|zopo|oneplus|OnePlus|micromax|mparty|m.party|paid|paidui|ximi|mito|cayon|cross|snda|yunduomi|exynos|nicai|ouki|dewav|compal|holatek|iobey|xolo|bimi|vmi|allview|epade|fmee|fomi|foxconn|foxconn international holdings limited|sanei|xdl|gfive|zoobii|zb|saga|qmobile|sanmeng|jeasung|advan|ares|intel|akai|allsmartest|hxtong|infocus|wondermedia|iball|laime|istone|meetuu|yoord|mstar semiconductor|aoledior|aoson|aqua|intex|archos|chinaleap|ouge|basicom|baiyu|benwee|best sonny|jxd|blu|boway|BOWAY|bror|phicomm|miu|casio|callbar|cikaa|colorfly|kmo|coww|conor|vertu|coolux|coship|crave|cenxin|cymi|xiami|great|simdo|daq|DAQ|datang|desay|detel|lingwin|doeasy|domi|dty|dowee|pioneer|huamei|intki|suning|mipai|miki|guangxin|eoom|ctyon|fadar|feimiao|mgo|enspert|getek|sanmei|godonie|goly|gigabyte|huomi|hongda|hasee|hike|hongmi|iguo|infinix|lava|iusai|jiayu|jiimee|karbonn|kopo|koridy|kevoo|kumai|laaboo|zomi|sict|ytone|lanmi|leagoo|loobee|lordor|cmdc|CMDC|mastone|meeg|meitu|minte|mlled|mofut|mogu|moii|moloo|ireadygo|iReadyGo|geniatech|nokia|vido|yuandao|itouch|noain|nubia|obee|qualcomm|orange|OUKI|pole|gocan|forme|symphony|voda|pulid|marvell|owwo|humi|qedirs|qiangzhe|rlt|heeyu|hualing|sunvan|smartisan|soaiy|sugar|SUGAR|tensent|ubtel|unitone|uoogou|utime|veion|vimoo|vsun|nvidia|letv|x-apple|cosun|yepen|yuyi|zhuomi|zuoku|opsson|dostyle|aole|nomi|ioco|upoo|gxq|qmi|ampe|coosee|guomi|sancup|shy|sbyh|oplus|dakele|viettel|iriver|balong|zdreal|ordro|hkc|aoc|doogee` raw := "rockchip" test1(raw, mbslice) test2(raw, mbstring) } func test1(raw string, mbslice []string) string { start := time.Now() brand := "" for _, value := range mbslice { if strings.Contains(raw, value) { brand = value break } } fmt.Println(time.Since(start).Seconds()) return brand } func test2(raw, mbstring string) string { reg, _ := regexp.Compile(mbstring) start := time.Now() brand := reg.FindStringSubmatch(raw) fmt.Println(time.Since(start).Seconds()) return brand[0] }
Add Comment