Nazwa użytkownika \ dir \ dir \ plik.
W tym artykule dowie się, jak konstruować ścieżki plików za pomocą metody połączenia () z pakietu ścieżki.
Golang Filepath.Dołączyć()
Składnia funkcji jest jak pokazana:
FUNC dołącz (Elem… String) ciąg
Funkcja przyjmuje dowolną liczbę argumentów ciągu. Następnie bierze każdy argument i tworzy hierarchiczną ścieżkę jako ciąg.
Korzystanie z metody połączenia jest bardzo wydajne, ponieważ będzie zależeć od systemu operacyjnego w celu ustalenia formatu FilePatha.
Załóżmy, że mamy plik w Dir1, Dir2, Dir3. Aby utworzyć ścieżkę do pliku za pomocą metody połączenia, możemy zrobić:
Pakiet Main
import (
„FMT”
„Ścieżka/filepat”
)
func main ()
Ścieżka: = firepath.Dołącz („Dir1”, „Dir2”, „Dir3”, „Plik.tekst")
fmt.Println („ścieżka =>”, ścieżka)
Jeśli wykonamy powyższy kod na komputerze Windows, otrzymasz wyjście jako:
Ścieżka => Dir1 \ Dir2 \ Dir3 \ Plik.tekst
W Linux możemy jednak uzyskać wyjście jako:
DIR1/DIR2/DIR3/PLIK.tekst
Jak widać, za pomocą metody łączenia zapewnia bardzo dynamiczną i wydajną metodę tworzenia filepatów zamiast połączenia różnych elementów.
Przykład 2
Jeśli przekazasz pusty ciąg jako argument do ciągu łączenia, funkcja zignoruje go jak pokazano:
Ścieżka: = firepath.Dołączyć("")
fmt.Println („ścieżka =>”, ścieżka)
Powyższy przykład powinien zwrócić pustą ścieżkę jako:
Ścieżka =>
Przykład 3
Rozważ przykład pokazany poniżej:
fmt.Println (FilePath.Dołącz („dir1 // dir2 // dir3”, „.tekst"))
Kod powyżej powinien zwrócić wynik jako:
Dir1 \ dir2 \ dir3 \ plik.tekst
Przykład 4
Aby uzyskać rozszerzenie pliku pliku na podanej ścieżce, możesz użyć metody ext. Na przykład:
Plik: = "Informacje.konfigurator ”
rozszerzenie: = firepath.Ext (plik)
fmt.Println (rozszerzenie)
Powstałe wyjście jest jak pokazano:
.konfigurator
Wniosek
W tym artykule omówiono sposób tworzenia bezwzględnych ścieżek za pomocą metody połączenia z pakietu FilePath. Jest to bardzo przydatny pakiet, gdy potrzebujesz tworzenia ścieżek, które można wyeksportować w wielu systemach operacyjnych.
Do widzenia, inni gopher!!