12 lines
		
	
	
		
			244 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			244 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils
 | 
						|
 | 
						|
// Let applies a function `f` to a pointer value `ptr` if it's not nil.
 | 
						|
// Returns nil if the pointer is nil.
 | 
						|
func Let[T any, R any](ptr *T, f func(T) R) *R {
 | 
						|
	if ptr == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
	result := f(*ptr)
 | 
						|
	return &result
 | 
						|
}
 |