为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 未定义函数

Golang 未定义函数

Go
扬帆大鱼 2021-08-10 09:46:37
我有以下包 src/helpers,但是当我将它导入到不同的包中时,导出的唯一函数是 EmailValidator,但不是其他函数,它们都以 Mayus 开头,所以我不知道发生了什么。谢谢package modelsimport (    "helpers"    ...)func FindByUsername(username *string) (*User, error) {    if username == nil || len(*username) == 0 ||            !helpers.UniqueNamesValidator(*username) {            return nil, errors.New("Invalid Username")    }    ...}src/models/user.go:88: 未定义: helpers.UniqueNamesValidator但func FindByEmail(email *string) (*User, error) {    if email == nil || len(*email) == 0 || !helpers.EmailValidator(*email) {            return nil, errors.New("Invalid Email")    } ... }效果很好这是源代码。package helpersimport (    "regexp")const (    email_key    = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"    email_domain = "@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")func EmailValidator(email string) bool {    pattern := regexp.MustCompile(email_key + email_domain)    return pattern.MatchString(email)}func UserNamesValidator(name string) bool {    pattern := regexp.MustCompile(`\A([ña-zA-ZÑ]{3,16} {0,1}){1,3}\z`)    return pattern.MatchString(name)}func UniqueNamesValidator(unique_name string) bool {    pattern := regexp.MustCompile(`\A\w{4,10}\z`)    return pattern.MatchString(unique_name)}func ProductNameValidator(p_name string) bool {    pattern := regexp.MustCompile(`\A(\w|\s){4,30}\z`)    return pattern.MatchString(p_name)}func TextOnlyValidator(text string) bool {    pattern := regexp.MustCompile(`\A(\w+|\s)+\z`)    return pattern.MatchString(text)}
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

如本 Makefile 所示,并在评论中确认,更好的定义是:


GOCMD=go 

GOBUILD=$(GOCMD) 

build all: $(GOBUILD) $(HELPERS_DIR) $(GOBUILD) $(MODELS_DIR)


查看完整回答
反对 回复 2021-08-10
  • 1 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信