計算餐補(go語言實現)

2021-07-09 23:52:25 字數 1316 閱讀 9861

最近公司需要每月計算餐補(按工作日,每日15元),然後自己去弄發票。

遂寫個程式幫助自己計算工作日和這個月的全勤餐補。

程式如下(公司的年假比國家的長,所以如果和我不是一家公司的話需要復用還需要自行修改holiday和specialday陣列)。

package main

import (

"os"

"fmt"

"time"

"strconv"

)func printusage()

func caldays(curyear int64,curmonth int64) int64else

}elseelse

}}func isholiday(curdate string) bool

for _,curholiday := range holiday

}return false

}func isspecialday(curdate string) bool

for _,curspecialday := range specialday

}return false

}func calmoney(curyear int64,curmonth int64)else

}elseelse

}loc, _ := time.loadlocation("local")

curtime,_ := time.parseinlocation("2006-01-02 15:04:05",curtimestr,loc)

if ((curtime.weekday() == time.saturday || curtime.weekday() == time.sunday) && !isspecialday(curtimestr[5:10])) || isholiday(curtimestr[5:10])else

workday += 1

}//餐補一天15元

moneyofday := 15

//當月餐補

fmt.printf("total money:%d\n",workday*moneyofday)

}func main()

curmonth,err := strconv.parseint(os.args[1],10,64)

if err != nil

calmoney(curyear,curmonth)

}

執行效果如下:

2月份的工作日和餐補如截圖所示。

服務計算 Go語言實現selpg

3.程式測試 4.參考資料 使用golang開發linux命令列中的selpg io,實現了一系列非平台相關的 io 相關介面和實現,比如提供了對 os 中系統相關的 io 功能的封裝。我們在進行流式讀寫 比如讀寫檔案 時,通常會用到該包。os exec,執行外部命令,它包裝了 os.startpr...

Go語言實現並行分段求和計算

這個例項通過迴圈實現並行的分段求和計算,再把各個子段和加到總和中。通過這個例項可以了解如何實現迴圈並行處理,以及有關的程式設計技巧。但是這個程式是有問題的,因為可能發生變數訪問衝突問題,導致計算結果不正確。這個程式是不穩定的,有時能夠計算出不正確的結果,有時能夠計算出正確結果。程式中的變數sum是共...

Go語言實現Valid Parentheses

write a function called that takes a string of parentheses,and determines if the order of the parentheses is valid.the function should return true if ...