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 }