GoDasturchi
Resolving Paths

Resolving Paths

Yo'llarni aniqlashtirish

Ba'zan yo'l chalkash bo'lib qoladi — ichida .. ("bir papka yuqoriga") yoki . ("shu joyning o'zi") bo'ladi. filepath.Clean bunday yo'lni soddalashtiradi, filepath.Abs esa nisbiy yo'lni to'liq (absolyut) yo'lga aylantiradi.

example.go
package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	messy := "data//users/../users/./profile.json"
	fmt.Println(filepath.Clean(messy))

	abs, err := filepath.Abs("profile.json")
	fmt.Println(err == nil, filepath.IsAbs(abs))
}

filepath.Clean ortiqcha /, . va .. larni hal qilib, eng qisqa to'g'ri yo'lni qaytaradi — xuddi xaritada aylanma yo'lni to'g'rilagandek. filepath.Abs esa nisbiy yo'lni joriy papkaga nisbatan to'liq yo'lga aylantiradi; filepath.IsAbs esa berilgan yo'l allaqachon to'liqmi (true) yoki nisbiymi (false) ekanini tekshiradi.

>_ Exercise

Chalkash yo'lni tozalang va uni absolyut yo'l bilan solishtiring.

  • messy yo'lni filepath.Clean bilan tozalab chop eting
  • "config.json" uchun filepath.Abs oling
  • olingan absolyut yo'l filepath.IsAbs bo'yicha true ekanini chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

filepath.Clean chalkash yo'lni soddalashtiradi, filepath.Abs/IsAbs esa yo'lning to'liq ekanini aniqlashtiradi va tekshiradi.

NEXT UP

Reader and Writer Interfaces

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Resolving Paths

Yo'llarni aniqlashtirish

Ba'zan yo'l chalkash bo'lib qoladi — ichida .. ("bir papka yuqoriga") yoki . ("shu joyning o'zi") bo'ladi. filepath.Clean bunday yo'lni soddalashtiradi, filepath.Abs esa nisbiy yo'lni to'liq (absolyut) yo'lga aylantiradi.

example.go
package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	messy := "data//users/../users/./profile.json"
	fmt.Println(filepath.Clean(messy))

	abs, err := filepath.Abs("profile.json")
	fmt.Println(err == nil, filepath.IsAbs(abs))
}

filepath.Clean ortiqcha /, . va .. larni hal qilib, eng qisqa to'g'ri yo'lni qaytaradi — xuddi xaritada aylanma yo'lni to'g'rilagandek. filepath.Abs esa nisbiy yo'lni joriy papkaga nisbatan to'liq yo'lga aylantiradi; filepath.IsAbs esa berilgan yo'l allaqachon to'liqmi (true) yoki nisbiymi (false) ekanini tekshiradi.

>_ Exercise

Chalkash yo'lni tozalang va uni absolyut yo'l bilan solishtiring.

  • messy yo'lni filepath.Clean bilan tozalab chop eting
  • "config.json" uchun filepath.Abs oling
  • olingan absolyut yo'l filepath.IsAbs bo'yicha true ekanini chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

filepath.Clean chalkash yo'lni soddalashtiradi, filepath.Abs/IsAbs esa yo'lning to'liq ekanini aniqlashtiradi va tekshiradi.

NEXT UP

Reader and Writer Interfaces