Wie andere gesagt haben, ist es in Go nicht möglich. In Go importieren Sie Pakete, keine Funktionen oder Typen von Paketen.
Beachten Sie, dass Sie leicht erreichen können, was Sie wollen, wenn Sie ein Helfer Paket erstellen.
Nehmen wir an, Sie möchten nur die Funktionen und fmt.Printf()
"verwenden". Erstellen Sie ein Helfer-Paket:
package helper
import "fmt"
func Println(a ...interface{}) (n int, err error) {
return fmt.Println(a...)
}
func Printf(format string, a ...interface{}) (n int, err error) {
return fmt.Printf(format, a...)
}
Und wo Sie wollen, dass die C++ 's ‚mit‘ Funktionalität, Import einen Punkt mit .
:
import . "helper"
func Something() {
Println("Hi")
Printf("Using format string: %d", 3)
}
Das Ergebnis ist, dass nur die exportierten Kennungen des helper
Paket wird im Umfang, nichts anderes aus dem fmt
Paket. Sie können dieses einzelne Paket helper
verwenden, um Funktionen natürlich auch in anderen Paketen als fmt
verfügbar zu machen. helper
kann alle anderen Pakete importieren und eine "Proxy" - oder Delegatorfunktion haben, die ihre Funktionalität veröffentlicht.
Persönlich fühle ich nicht das Bedürfnis nach diesem. Ich würde einfach fmt
importieren und seine Funktionen mit fmt.Println()
und fmt.Printf()
aufrufen.
@juanchopanza Ich bin mir ziemlich sicher, dass das OP nach etwas sucht, wie 'mit std :: cout; 'und dann kann man einfach' cout' anstelle von 'std :: cout' benutzen. – NathanOliver
@NathanOliver das ist genau was ich suche. – cookieisaac
Wenn die Paketbenennung und die Benennung von exportierten Dateien gut aufeinander abgestimmt sind, ist es nicht viel mehr zu tippen, dafür aber viel besser lesbar. – Volker