gitee.com/chunanyong/dm@v1.8.12/util/zzs.go (about)

     1  /*
     2   * Copyright (c) 2000-2018, 达梦数据库有限公司.
     3   * All rights reserved.
     4   */
     5  package util
     6  
     7  const (
     8  	LINE_SEPARATOR = "\n"
     9  )
    10  
    11  // 执行f并忽略panic
    12  func AbsorbPanic(f func()){
    13  	defer func() {
    14  		if p := recover(); p != nil {
    15  			// TODO do something
    16  		}
    17  	}()
    18  	f()
    19  }
    20  
    21  func SliceEquals(src []byte, dest []byte) bool {
    22  	if len(src) != len(dest) {
    23  		return false
    24  	}
    25  
    26  	for i, _ := range src {
    27  		if src[i] != dest[i] {
    28  			return false
    29  		}
    30  	}
    31  
    32  	return true
    33  }
    34  
    35  // 获取两个数的最大公约数,由调用者确保m、n>=0;如果m或n为0,返回1
    36  func GCD(m int32, n int32) int32 {
    37  	if m == 0 || n == 0 {
    38  		return 1
    39  	}
    40  	r := m % n
    41  	m = n
    42  	n = r
    43  	if r == 0 {
    44  		return m
    45  	} else {
    46  		return GCD(m, n)
    47  	}
    48  }
    49  
    50  // 返回切片中所有数的累加值
    51  func Sum(arr []int32) int32 {
    52  	var sum int32 = 0
    53  	for _, i := range arr {
    54  		sum += i
    55  	}
    56  	return sum
    57  }