Types that are used solely for hosting static members should be implemented as a caseless enum in Swift.
By using a caseless enum, you explicitly indicate that the type should not be instantiated. This helps prevent accidental creation of instances, which can lead to unnecessary memory allocation and potential misuse of the type.
struct Math {
public static let pi = 3.14
}
enum Math {
public static let pi = 3.14
}