1// Package hcl contains the main modelling types and general utility functions 2// for HCL. 3// 4// For a simple entry point into HCL, see the package in the subdirectory 5// "hclsimple", which has an opinionated function Decode that can decode HCL 6// configurations in either native HCL syntax or JSON syntax into a Go struct 7// type: 8// 9// package main 10// 11// import ( 12// "log" 13// "github.com/hashicorp/hcl/v2/hclsimple" 14// ) 15// 16// type Config struct { 17// LogLevel string `hcl:"log_level"` 18// } 19// 20// func main() { 21// var config Config 22// err := hclsimple.DecodeFile("config.hcl", nil, &config) 23// if err != nil { 24// log.Fatalf("Failed to load configuration: %s", err) 25// } 26// log.Printf("Configuration is %#v", config) 27// } 28// 29// If your application needs more control over the evaluation of the 30// configuration, you can use the functions in the subdirectories hclparse, 31// gohcl, hcldec, etc. Splitting the handling of configuration into multiple 32// phases allows for advanced patterns such as allowing expressions in one 33// part of the configuration to refer to data defined in another part. 34package hcl 35