github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/presentation/prompt-email-verification-api/email.go (about) 1 package promptemailverificationapi 2 3 import ( 4 "github.com/go-email-validator/go-email-validator/pkg/ev/evmail" 5 "github.com/go-email-validator/go-email-validator/pkg/presentation/converter" 6 "strings" 7 ) 8 9 var emptyString = "" 10 11 // EmailFromString creates evmail.Address from string 12 func EmailFromString(email string) evmail.Address { 13 firstPos := strings.IndexByte(email, '@') 14 lastPos := strings.LastIndexByte(email, '@') 15 16 if firstPos == -1 || len(email) < 3 || firstPos != lastPos { 17 return converter.NewEmailAddress("", "", &emptyString) 18 } 19 20 return converter.NewEmailAddress(email[:firstPos], email[firstPos+1:], nil) 21 }