慕沐林林
在逗号处剪切字符串以获取base64数据:func decode(uri string) ([]byte, error) { if !strings.HasPrefix(uri, "data:") { return nil, errors.New("not a data uri") } _, data, ok := strings.Cut(uri, ",") if !ok { return nil, errors.New("not a data uri") } return base64.URLEncoding.DecodeString(data)}Go 1.18 中添加了strings.Cut函数。在早期版本的 Go 中使用strings.Index来切断逗号:func decode(uri string) ([]byte, error) { if !strings.HasPrefix(uri, "data:") { return nil, errors.New("not a data uri") } i := strings.Index(uri, ",") if i < 0 { return nil, errors.New("not a data uri") } return base64.URLEncoding.DecodeString(uri[i+1:])}