About the path to specify when loading assets in C++

I am creating a commandlet to import data from a CSV file into a StringTable.

FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>(FName("AssetRegistry"));
IAssetRegistry& AssetRegistry = AssetRegistryModule.Get();
FAssetData assetData = AssetRegistry.GetAssetByObjectPath(TEXT("/Game/StringTable/ST_Test.ST_Test"));
UStringTable* stringTable = Cast<UStringTable>(assetData.GetAsset());

At the end of the path you specify when loading the asset,
What does it mean to add the same asset name as an extension after the asset name?
“ST_Test.ST_Test”

Is there a function that can automatically generate that path?

where this code comes from?

This is the code I use in my project, which I wrote while looking at the official UE documentation and websites that deal with UE.

这里的相同资产名你可以简单理解为固定格式,资产试自身名字.自身名字,如“ST_Test.ST_TEst”,蓝图是自身名字.自身名字_C,如“BP_Test.BP_Test_C"
The same asset name here you can simply understand as a fixed format, the asset test own name. ST_TEst", the blueprint is its own name. Self_C, e.g. “BP_Test.BP_Test_C”.

至于生成此路径的函数,可以使用GetObjectPathString
As for the function that generates this path, you can use GetObjectPathString
image