# command-line-arguments
src\chartroom\client\main.go:46:10: undefined: login
在同一个目录下,引用另外一个go文件的一个函数,不能使用。 两段代码如下
package main
import(
//"chartroom/ser"
"fmt"
"os"
)
//定义两个全局变量,一个表示用户的id一个表示用户的密码
var userId int
var userPwd string
func main(){
//接受用户的选择
var key int
//判断是否继续显示菜单
var loop = true
for loop {
fmt.Println("-----欢迎登录多人聊天系统-----")
fmt.Println("\t\t\t 1 登录聊天室")
fmt.Println("\t\t\t 2 注册用户")
fmt.Println("\t\t\t 3 退出系统")
fmt.Println("\t\t\t 请选择(1-3):")
fmt.Scanf("%d\n",&key)
switch key {
case 1:
fmt.Println("登录聊天室")
loop = false
case 2:
fmt.Println("注册用户")
loop = false
case 3:
fmt.Println("退出系统")
os.Exit(0)
default:
fmt.Println("你的输入有误,请重新输入")
}
}
if key == 1{
//说明用户要登录了
fmt.Println("请输入用户的id")
fmt.Scanf("%d\n",&userId)
fmt.Println("请输入用户的密码")
fmt.Scanf("%d\n",&userPwd)
//先把登陆的函数,写到另外一个文件,比如login.go
err := login(userId,userPwd)
if err!=nil{
fmt.Println("登录失败")
}else {
fmt.Println("登录成功")
}
}else if key == 2{
fmt.Println("进行用户注册的一个逻辑")
}
}
package main
import(
"fmt"
)
//写一个函数,完成登录
func login(userId int,userPwd string) (err error){
//下一步就要开始定协议..
fmt.Printf("userId = %d userPwd = %s\n",userId,userPwd)
return nil
}
PS C:\goproject> go build -o client.exe chartroom/client
将整个文件夹进行打包编译可以运行,ok。