2017-05-10 15 views
-1

次のコードが得られます。Golang:関数の戻り引数エラー

runtime.main: call to external function main.main 
runtime.main: main.main: not defined 
runtime.main: undefined: main.main 

私は戻り引数を台無しに、しかし、なぜ?

要求:

fmt.Println(reflect.TypeOf(l)) 

与える* ldap.Connタイプとして、コードがオブジェクトに戻すためにしようとせずに動作

package main 

import (
    "fmt" 
    "log" 

    "gopkg.in/ldap.v2" 
) 


var Ldap1 = "10.0.0.1" 
var Lport1 = 389 
var Prpl1 = "cn=admin,dc=Example,dc=com" 
var Pass1 = "password" 

func Bindldap(ldaphost string, port int, principal string, password string) *ldap.Conn { 

    l, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", ldaphost, port)) 
    if err != nil { 
     log.Fatal(err) 
    } 
    defer l.Close() 

    err = l.Bind(principal, password) 
    if err != nil { 
     log.Fatal(err) 
    } 
    return l 
} 

func Main() { 
    a := Bindldap(Ldap1, Lport1, Prpl1, Pass1) 
    //do something with a 
} 
+2

これは、 'main.main'を探しています。あなたは 'main.Main'を持っています。 – Will

+0

ohh ... man ....あなたの時間を無駄にしてしまって申し訳ありません –

+0

問題はありません、これはSOのためです:) – Will

答えて

2

あなたのエラーメッセージは、それが探しているあなたを言っていますあなたのmainパッケージにmainという名前の関数があります。あなたはエントリーポイントMainと呼んでいます(キャップ​​に注意してください)。これを試してください:

func main() { 
    a := Bindldap(Ldap1, Lport1, Prpl1, Pass1) 
    //do something with a 
}