The **bits.Sub64()** Function in Golang is used to find the difference of a, b and borrow, i.e. diff = a – b – borrow.Here the borrow must be 0 or 1; otherwise, the behavior is undefined. To access this function, one needs to imports the math/bits package in the program. The return value of the *borrowOutput* will be always 0 or 1 in any case.

**Syntax:**

func Sub64(a, b, borrow uint64) (diff, borrowOut uint64)

**Parameters:** This function takes three parameters of uint64 type, i.e., a, b, and borrow. The value of borrow parameter is either 1 or 0.

**Return Value:** This function return two values of uint64 type, i.e., diff and borrowOut. Here diff contains the result of a – b – borrow and borrowOut is either 1 or 0.

**Example 1:**

`// Golang program to illustrate bits.Sub64() Function` `package main` ` ` `import (` ` ` `"fmt"` ` ` `"math/bits"` `)` ` ` `// Main function` `func main() {` ` ` ` ` `// Finding diff and borrowOu` ` ` `// of the specified numbers` ` ` `// Using Sub64() function` ` ` `nvalue_1, borrowOut := bits.Sub64(11, 5, 0)` ` ` `fmt.Println(` `"Diff:"` `, nvalue_1)` ` ` `fmt.Println(` `"BorrowOut :"` `, borrowOut)` ` ` `}` |

**Output:**

Diff: 6 BorrowOut : 0

**Example 2:** Here, you can see that the result is not as excepted as we have taken the value of borrow as 7. So if we are taking borrow input other than 1 and 0 then the behavior will be undefined.

`// Golang program to illustrate bits.Sub64() Function ` `package main ` ` ` `import ( ` ` ` `"fmt"` ` ` `"math/bits"` `) ` ` ` `// Main function ` `func main() { ` ` ` ` ` `// Finding diff and borrowOut ` ` ` `// of the specified numbers ` ` ` `// Using Sub64() function ` ` ` ` ` `var a, b, borrow uint64 = 12, 87, 7 ` ` ` `Diff, borrowOut := bits.Sub64(a, b, borrow ) ` ` ` `fmt.Println(` `"Number 1:"` `, a) ` ` ` `fmt.Println(` `"Number 2:"` `, b) ` ` ` `fmt.Println(` `"Borrow :"` `, borrow ) ` ` ` `fmt.Println(` `"Diff:"` `, Diff) ` ` ` `fmt.Println(` `"BorrowOut :"` `, borrowOut ) ` ` ` `} ` |

**Output:**

Number 1: 12 Number 2: 87 Borrow : 7 Diff: 18446744073709551540 BorrowOut : 1

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.