Tôi muốn sử dụng path.Dir()
trên Unix và Windows với thư mục nền tảng cụ thể. Hãy dành một cái nhìn tại các mã:golang: đường dẫn nền tảng chéo.Dir
package main
import (
"fmt"
"path"
)
func main() {
fmt.Println(`path.Dir("a/b/c"): `, path.Dir("a/b/c"))
fmt.Println(`path.Dir("c:\foo\bar.exe"): `, path.Dir(`c:\foo\bar.exe`))
}
này kết quả đầu ra
path.Dir("a/b/c"): a/b
path.Dir("c:\foo\bar.exe"): .
Tôi muốn nhận được cho các cuộc gọi thứ hai để path.Dir()
(cửa sổ) cái gì đó như
c:\foo
Có có thể cho biết path.dir()
để sử dụng bộ tách Windows cho chương trình của tôi đang chạy trên các cửa sổ không? Hoặc tôi có nên luôn luôn chuyển đổi các dấu gạch chéo ngược \
để chuyển tiếp dấu gạch chéo (/
)? Chiến lược ưa thích ở đây là gì?
Nó đáng chú ý là tổng quan về gói cho 'con đường' khẳng định rằng nó là dành cho đường dẫn slash-tách ra và 'path/filepath' là os-cụ thể. Ngoài ra, nếu bạn cần nó, filepath.ToSlash() và filepath.FromSlash() có thể được sử dụng để chuyển đổi sang và từ tách riêng biệt và theo đặc trưng của os. –
@RunningWild Lời khuyên tốt, cảm ơn. Tôi, với tư cách là một người nói không phải là người bản địa, giả định rằng "các đường gạch chéo tách biệt" có thể có nghĩa là cả hai dấu gạch chéo ngược và lùi. Bây giờ tôi biết rõ hơn. – topskip