Рад са датотекама и директоријумима је суштински задатак за апликације које треба да чувају и преузимају податке. Го обезбеђује пакет путање датотека за операције путање датотека независне од платформе. Пакет укључује функције за манипулисање путањама датотека и компатибилан је са Виндовс, Линук и мацОС.
Функције које укључује пут до датотеке могу да се придруже, поделе и чисте путање датотека да би се увериле да су валидне. Пакет такође има функције за ходање директоријума и тражење датотека.
Ходајућа стабла именика
Тхе Ходати функција на филепатх пакет пружа функционалност за шетњу стаблом директоријума и прелажење кроз датотеке и директоријуме на начин пре поруџбине. Рекурзивно ће посетити све директоријуме испод датог корена. Функција Валк преузима основни директоријум и функцију која узима путању, инстанцу информација о датотеци и инстанцу грешке.
пакет главни
увоз (
"фмт"
"пут/путања датотеке"
"ос"
)фунцглавни() {
// Дефинише основни директоријум за почетак шетње
роот := "."// Користи функцију Валк за ходање по стаблу директоријума
грешка := путања до датотеке. Шетња (корен, фунц(пут низ, инфо ос. ФилеИнфо, грешка грешка)грешка {
ако ерр != нула {
повратак ерр
}// Штампа име сваке датотеке или директоријума
фмт. Принтлн (путања)
повратакнула
})
// Проверава грешке
ако ерр != нула {
фмт. Принтф(„Грешка у шетњи стаблом директоријума: %в\н“, грешка)
}
}
Овај програм дефинише основни директоријум као тренутни радни директоријум. Тхе главни функција пролази кроз директоријуме у основном директоријуму и исписује имена датотека.
Подударање датотека са подударањем узорака
Можете користити Меч функција за подударање имена датотека са шаблоном. Синтакса шаблона је заснована на заједничком синтакса џокер знакова, која користи метакарактере, познат као глоб обрасци у Уник окружењима.
пакет главни
увоз (
"фмт"
"пут/путања датотеке"
)фунцглавни() {
// Дефинише образац за подударање
образац := „*.ткт“// Користи функцију Матцх за подударање са шаблоном на датотекама
матцх, ерр := филепатх. Поклапање (шаблон, "филе.ткт")ако ерр != нула {
фмт. Принтф(„Грешка при подударању шаблона: %в\н“, грешка)
повратак
}
// Штампа резултат подударања
ако меч {
фмт. Принтлн(„Датотека одговара шаблону.“)
} друго {
фмт. Принтлн(„Датотека се не подудара са шаблоном.“)
}
}
Тхе главни функција одговара имену датотеке у односу на *.ткт образац и штампа низ у зависности од резултата условни исказ.
Чишћење стаза са функцијом Цлеан
Тхе Чист функција узима путању датотеке и враћа очишћену верзију путање уклањањем непотребних сепаратора и промена директоријума, као што је . (тренутни директоријум) и .. (родитељски директоријум) сегменте.
Чишћење путања датотека је корисно јер помаже у избегавању грешака ако путања садржи сувишне сепараторе или неважеће сегменте, или конструише путање независно од тренутног радног директоријума.
пакет главни
увоз (
"фмт"
"пут/путања датотеке"
)фунцглавни() {
// Креира путању са сувишним сепараторима и неважећим сегментима
пут := "/фоо/бар//баз/.././кук/"// Чисти путању
цлеанПатх := филепатх. Чиста (пута)
// Штампа оригиналне и очишћене путање датотеке
фмт. Принтлн(„Оригинална путања:“, пут)
фмт. Принтлн(„Очишћена путања:“, цлеанПатх)
}
Тхе пут променљива је почетна путања датотеке, а Чист функција чисти пут променљиву и враћа очишћену путању датотеке. Тхе главни функција штампа почетну и чисту путању датотеке.
Спајање и раздвајање путања датотека у Го
Тхе Придружити и Разделити функције обезбеђују функционалност за спајање и раздвајање путања датотека.
Функција Јоин узима било који број елемената путање. Враћа један стринг путање датотеке који је резултат спајања тих елемената коришћењем одговарајућег сепаратора путање за оперативни систем. Тхе Придружити функција је корисна за конструисање путања датотека независно од основног система датотека.
пакет главни
увоз (
"фмт"
"пут/путања датотеке"
)фунцглавни() {
// Дефинише четири путање датотеке за операцију спајања
пут1 := "фолдер1"
пут2 := "фолдер2"
патх3 := "подфолдер1"
патх4 := "екампле.ткт"// Спаја четири путање датотеке заједно у једну путању
јоинедПатх := филепатх. Придружите се (пута1, путања2, путања3, путања4)
// Штампање обједињене путање датотеке
фмт. Принтлн(„Удружени пут:“, јоинедПатх)
}
Тхе пут1, патх2, и патх3 променљиве су имена фасцикли и патх4 променљива је име датотеке. Тхе Придружити функција узима имена променљивих путање и враћа спојену путању датотеке. Тхе главни функција штампа спојену путању датотеке до конзоле са фмт пакет.
Тхе Разделити функција узима низ путање и враћа компоненте директоријума путање и имена датотеке. Тхе Разделити функција је корисна за издвајање имена датотека или одређивање родитељског директоријума датотеке.
пакет главни
увоз (
"фмт"
"пут/путања датотеке"
)
фунцглавни() {
// Поставља путању датотеке за операцију раздвајања
филеПатх := „/хоме/усер/доцументс/екампле.ткт“
// Користите функцију Сплит да бисте поделили путању датотеке
// у свој директоријум и компоненте датотеке
дир, фајл := путања до датотеке. Подели (путања до датотеке)
// Штампа директоријум и компоненте датотеке
фмт. Принтлн("Именик:", р.)
фмт. Принтлн("Датотека:", фајл)
}
Тхе филеПатх променљива је оригинална путања датотеке, а Разделити функција преузима у филеПатх променљиву и враћа називе директоријума и датотека као низове. Тхе главни функција штампа називе директоријума и датотека на конзоли.
Можете да манипулишете текстуалним датотекама помоћу Го
Поред функционалности система датотека, Го пружа пакете који ће вам помоћи да радите са више типова датотека, укључујући текстуалне датотеке.
Можете користити буфио пакет за бафероване улазне и излазне операције на текстуалне датотеке и ос пакет за креирање датотека, између осталих операција.