1. 程式人生 > >專案4:抽獎程式 分時間段(按時段設定的獎品數為概率)

專案4:抽獎程式 分時間段(按時段設定的獎品數為概率)

資料庫先

activity_lyq_lottery	獎品表	
lotteryid		
name	禮品名稱	
sum	禮品總數	
time_start	開始時間	
time_end	結束時間	
addtime	時間	
probability	中獎概率	大於0:表示概率    0:表示獎品數為概率
isdisable	是否開啟	0開啟1關閉
listorder	排序	預設正序
msg	傳送簡訊或顯示資訊	
content	備註	
angle	轉盤角度	獎品所在的角度
time_1	時間段個數限制	個數限制,-1表示不限制,0表示不發
time_2		
time_3		
time_4		
time_5		
time_6		
time_7		
time_8		
time_9		
time_10		
time_11		
time_12		
time_13		
time_14		
time_15		
time_16		
time_17		
		
		
		
activity_lyq_lottery_log	抽獎日誌	
logid	ID	
uid	使用者ID	
tel	手機號	
addtime	抽獎時間	
ip	抽獎IP	
lotteryid	獎品ID	
iswinning	是否抽中	1抽中0無
result	返狀態回值	
hao	隨機號	

主程式
<?php
require_once (APP_ROOT . "./class/class_lib.php");
require_once libfile ( 'class/StoreProcs' );
pc_base::load_app_class('table_sub','',0);
/**
 * 大轉盤
 * @author Administrator
 *
 */
class lib_dzp_lottery extends app_lib {
	/**
	 * 獎品表
	 */
	public $lottery = 'activity_lyq_lottery';
	/**
	 * 獎品日誌表
	 */
	public $lottery_log = 'activity_lyq_lottery_log';
	/**
	 * n等獎品
	 */
	private $level = array();
	/**
	 * 獎品資訊
	 */
	private $lotteryArray = array();
	/***
	 * 隨機數結束位數
	 */
	private $max = 30000;
	/**
	 * 中獎專業戶
	 */
	private $tel_zy=false;
	/**
	 *增加時段時間
	 */
	private $second=0;
	/**
	 *時段時間
	 */
	private $time=array();
	/**
	 * 讀取配置
	 */
	public function load_setting() {
		$data=getcache('lyqdzp_setting');
		define('TIME', time());									//當前時間
		define('L_START', strtotime($data['l_start']));			//報名開始時間
		define('L_END', strtotime($data['l_end']));				//報名結束時間,-1意思昨天 23:59:59
		define('L_DAY_START',$data['l_day_start']);				//每天開始時間
		define('L_DAY_END', $data['l_day_end']);				//每天結束時間
		define('L_DAY_CISHU', $data['l_day_cishu']);			//每天獲得獎品次數
		define('L_CISHU', $data['l_cishu']);					//共計獲得獎品次數
		define('L_MIN', 20);									//最少來福幣
		define('L_LFB', $data['l_lfb']);						//減少來福幣
		define('L_ZY', $data['l_zy']);							//專業戶
		define('L_QUANSHU', $data['l_quanshu']);				//圈數,大轉盤開始圈數
		define('L_KONGJIANG', intval($data['l_kongjiang']));			//空獎概率
		$host='www.*****.com';								//現網
		if($_SERVER['HTTP_HOST']=='221.******'){
			$host='221.*******';						//測試機
		}elseif($_SERVER['HTTP_HOST']=='125.com'){
			$host='125life.com';								//本地
		}elseif(strpos($_SERVER['HTTP_HOST'],'192.168.')==0){
			//$host=$_SERVER['HTTP_HOST'].'/125.com';			//本地
		}
		define('L_SITE', 'http://'.$host.'/');					//域名最後加/
		define('L_URL', L_SITE.'index.php');	//訪問地址
		
		//只能通過flash地址訪問
		$s=L_SITE.'flash/zhuanpan/i.swf';
		if(preg_replace('/swf.*$/','swf',$_SERVER['HTTP_REFERER'])!=$s){
			exit('老兄你已經得到得夠多了,請通過正規途徑搖獎!');
		}
		$this->load();
	}
	/**
	 * 黑名單
	 */
	private $heimingdan = array();
	/**
	 * 讀取獎品配置
	 */
	public function load() {
		$this->setlottery ();
		$this->heimingdan = getcache ( 'tel', 'blanklist' );
	}
	private function setlottery() {
		$time=strtotime(date('Y-m-d',TIME));
		$sql = "select u.* ";
		$sql .= " from " . DB::table ( $this->lottery ) . " AS u ";
		$sql .= " where 1 ";
		$sql .= " and u.isdisable='0' ";
		$sql .= " and u.time_start<='$time' ";
		$sql .= " and u.time_end>='$time' ";
		$sql .= " ORDER BY u.listorder ";
		$d = DB::fetch_all ( $sql );
		
		foreach ( $d as $r ) {
			$sql = "select count(*) m from " . DB::table ( $this->lottery_log );
			$sql .= " where lotteryid='".$r ['lotteryid']."' and iswinning='1' ";
			$r ['num']= intval ( DB::result_first ( $sql ) );
			$r ['sum_over'] = intval ( $r ['sum'] ) - intval ( $r ['num'] );
			$r['msg']=str_replace('{name}', $r['name'],$r['msg']);
			$this->lotteryArray [$r ['lotteryid']] = $r;
		}

		
		//時間段的獎品數為概率
		$sum = 0;
		$this->second=$second=45*60;
		$d = array(
				1 => array(
						'time' => strtotime ( date ( 'Y-m-d 00:00:00', TIME ) ),
						'time_end' => strtotime ( date ( 'Y-m-d 07:59:59', TIME ) )
				)
		);
		for ($i=2;$i<=17;$i++){
			$d[$i]=array(
					'time' => strtotime ( date ( 'Y-m-d '.($i+6).':00:00', TIME ) )+$second,
					'time_end' => strtotime ( date ( 'Y-m-d '.($i+6).':59:59', TIME ) )+$second
			);
		}
		
		foreach ($d as $k=>$t){
			if(TIME>=$t['time']&&TIME<=$t['time_end']){
				foreach ( $this->lotteryArray as $r ) {
					if ($r ['sum_over'] > 0) {
						if($r ['time_'.$k]>0){
							$sum += $r ['time_'.$k];
						}
					}
				}
			}
		}
		
		$this->time=$d;
		//本時段 獎品數
		foreach ($d as $k=>$t){
			if(TIME>=$t['time']&&TIME<=$t['time_end']){
				$m = 1;
				$probability = 0;
				$newsum=0;
				//80%空獎+20%獎
				$this->max = $sum + $sum * (L_KONGJIANG/100) / ((100-L_KONGJIANG)/100);
				
				foreach ( $this->lotteryArray as $r ) {
					$newsum=0;
					if ($r ['sum_over'] > 0) {
						if($r ['time_'.$k]>0){
							$newsum=$r ['time_'.$k];
							if($r['probability']>0){
								$probability=0;
								$probability=ceil($newsum*100/$r['probability']);
								if($probability>0){
									$newsum=$probability;
								}
							}
							$this->level [$r ['lotteryid']] ['start'] = $m;
							$this->level [$r ['lotteryid']] ['end'] = $m + $newsum;
							$m = $m + $newsum;
						}elseif ($r ['time_'.$k]<0){
							$newsum=$r ['sum_over'];
							if($r['probability']>0){
								$probability=0;
								$probability=ceil($newsum*100/$r['probability']);
								if($probability>0){
									$newsum=$probability;
								}
							}
							$this->level [$r ['lotteryid']] ['start'] = $m;
							$this->level [$r ['lotteryid']] ['end'] = $m + $newsum;
							$m = $m + $newsum;
						}
					}
				}
			}
		}
	}
	/**
	 * 檢測使用者是否中獎 0 謝謝參與,其他 返回獎品data資料
	 * @param array $user array(uid,tel,ip)
	 */
	public function check($user) {
		if (intval ( $user ['uid'] ) < 1) {
			//沒有登入
			return 0;
		}
		if(intval(TIME)<intval(L_START)){
			//您來早了,活動還沒有開始!
			return -21;
		}
		if(intval(TIME)>intval(L_END)){
			//已經過了活動時間,非常遺憾,謝謝!
			return -22;
		}
		if ($this->get_user_lfb ( $user ['uid'] ) < L_MIN) {
			//$this->credit ( $user ['uid'], -11, $logid );
			return -11; //您的來福幣餘額不足
		}
		
		$data = array(
				'uid' => $user ['uid'],
				'tel' => $user ['tel'],
				'ip' => $user ['ip'],
				'addtime' => time ()
		);
		$logid = DB::insert ( $this->lottery_log, $data, true );

		
		//檢查使用者  每天 已中獎品數
		if ($this->get_lottery ( $user ['uid'], strtotime ( date ( 'Y-m-d', TIME ) ), strtotime ( "+1day", strtotime ( date ( 'Y-m-d', TIME ) ) ), true ) >= L_DAY_CISHU) {
			$this->credit ( $user ['uid'], -12, $logid );
			//很遺憾,你本次什麼也沒有抽到!
			return -12;
		}
		//檢查使用者  全部 已中獎品數
		if ($this->get_lottery ( $user ['uid'], 0, 0, true ) >= L_CISHU&&L_CISHU>0) {
			$this->credit ( $user ['uid'], -12, $logid );
			//很遺憾,你本次什麼也沒有抽到!
			return -15;
		}
		//檢測黑名單,設定概率
		if ($this->checkhei ( $user ['tel'] ) > 0) {
			$this->credit ( $user ['uid'], -13, $logid );
			//很遺憾,你本次什麼也沒有抽到!
			return -13;
		}
		$lotteryid = $this->choujiang();
		$this->credit ( $user ['uid'], $lotteryid<1?$lotteryid:0, $logid, $lotteryid ,$this->hao);
		if ($lotteryid > 0) {
			return $this->lotteryArray [$lotteryid];
		} else {
			return -4;
		}
		//-1獎品已發完
		//-2本時段獎品已玩
		//-3不發獎品
		//-4獎品有問題
		//-11您的來福幣餘額不足
		//-12很遺憾,你本次什麼也沒有抽到!
		//-13黑名單裡面,很遺憾,你本次什麼也沒有抽到!
		//-14中獎專業戶禁止中高講高獎品
		//-15已超過yizhong總獎品數
		//-21您來早了,活動還沒有開始!
		//-22已經過了活動時間,非常遺憾,謝謝!
		//-23對不起,現在不是活動時間,活動時間為每天
	}
	/**
	 * 顯示
	 * @param unknown_type $data
	 */
	public function show($data){
		$ok=0;//3中獎
		$zz=0;//轉盤度數
		$result='';//獎品名稱
		$lotteryid=0;//獎品ID
		if(is_array($data)){
			$ok=3;
			$result=$data['msg'];
			$zz=$data['angle']+L_QUANSHU*360;
			$lotteryid=$data['lotteryid'];
		}else{
			$m='';
			switch($data){
				case 0:{
					$m= '請先登入!';
				}break;
				case -11:{
					$m= '您的來福幣餘額不足!';
				}break;
				case -12:{
					$m= '很遺憾,你本次什麼也沒有抽到!';
				}break;
				case -21:{
					$m= '您來早了,活動還沒有開始!';
				}break;
				case -22:{
					$m= '已經過了活動時間,非常遺憾,謝謝!';
				}break;
				case -23:{
					$m= '對不起,現在不是活動時間,活動時間為每天'.L_DAY_START.':00-'.L_DAY_END.':00';
				}break;
				default:{
					$m= '很遺憾,你本次什麼也沒有抽到!';
				}break;
			}
			$result=$m;
			$ok=3;//3中獎
			$zz=360+L_QUANSHU*360;//再接再厲
		}
		header("Expires:Mon,26Jul199705:00:00GMT");
		header("Cache-Control:no-cache,must-revalidate");
		header("Pragma:no-cache");
		header("Content-type:text/html;charset=utf-8");
		echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
		echo '<gift>'."\n";
		echo '<shift ok="'.$ok.'" zz="'.$zz.'" add="9" down="0" lid="0" result="'.$result.'"/>'."\n";
		echo '</gift>'."\n";
		exit;
	}
	/**
	 * 抽獎的號
	 */
	private $hao=0;
	/**
	 * 抽獎開始
	 */
	private function choujiang() {
		$j = 0;
		$lotteryid = 0;
		$j = mt_rand ( 1, $this->max );
		$this->hao=$j;
		foreach ( $this->level as $k => $r ) {
			if ($r ['start'] <= $j && $j< $r ['end'] ) {
				$lotteryid = $k;
				break;
			}
		}
		$d = $this->time;
		if($lotteryid>0){
			$l=$this->lotteryArray [$lotteryid];
			$sql = "select count(*) m from " . DB::table ( $this->lottery_log );
			$sql .= " where lotteryid='$lotteryid' ";
			$s= intval ( DB::result_first ( $sql ) );
			$sum_over=$l['sum']-$s;
			if($sum_over>0){
				//本時段 獎品數
				$sum=0;
				foreach ($d as $k=>$r){
					if(TIME>=$r['time']&&TIME<=$r['time_end']){
						if($l['time_'.$k]>0){//個數限制
							$sum=$this->get_lottery_id(0,$r['time'],$r['time_end']+1,$lotteryid);
							if($sum>=$l['time_'.$k]){
								//本時段獎品已玩
								$lotteryid=-2;
								break;
							}
						}elseif ($l['time_'.$k]==0){
							//不發獎品
							$lotteryid=-3;
							break;
						}else{
							//-1 不限制
						}
						
					}
				}
				if($this->tel_zy && $lotteryid>0&&$lotteryid<4){
					$lotteryid=-14;
				}
			}else{
				//獎品已發完
				$lotteryid=-1;
			}
		}else{
			//獎品有問題
			$lotteryid=-4;
		}
		return $lotteryid;
	
	}
	/**
	 * 檢測黑名單和普通使用者,概率
	 * @param string $tel
	 * @return 大於1 表示本次禁止抽
	 */
	private function checkhei($tel) {
		$n = mt_rand ( 1, 100 );
		if (in_array ( $tel, $this->heimingdan ['tel'] ) && L_ZY > 0) {
			$this->tel_zy=true;
			if ($n > L_ZY) {
				return 1;
			}
		}else{
			//號碼檢測
 			if (!self::check_tel($tel)) {
 				return 1;
 			}
		}
		return 0;
	}
	/**
	 * 合計獎品數
	 * @param intval $uid
	 * @param intval $start
	 * @param intval $end
	 * @param bool $bool true 獲得獎品數 false 不統計
	 * @return number
	 */
	private function get_lottery($uid = 0, $start = 0, $end = 0, $bool = false) {
		$sql = "select count(*) m from " . DB::table ( $this->lottery_log );
		$sql .= " where 1 ";
		if (intval ( $start ) > 0) {
			$sql .= " and addtime>='$start' ";
		}
		if (intval ( $end ) > 0) {
			$sql .= " and addtime<'$end' ";
		}
		if ($bool) {
			$sql .= " and lotteryid>0 ";
		}
		if (intval ( $uid ) > 0) {
			$sql .= " and uid='$uid' ";
		}
		return intval ( DB::result_first ( $sql ) );
	}
	/**
	 * 合計獎品數
	 * @param intval $uid
	 * @param intval $start
	 * @param intval $end
	 * @param intval $bool 獎品id
	 * @return number
	 */
	private function get_lottery_id($uid = 0, $start = 0, $end = 0, $lotteryid = 0) {
	
		$sql = "select count(*) m from " . DB::table ( $this->lottery_log );
		$sql .= " where 1 ";
		if (intval ( $start ) > 0) {
			$sql .= " and addtime>='$start' ";
		}
		if (intval ( $end ) > 0) {
			$sql .= " and addtime<'$end' ";
		}
		if ($lotteryid>=0) {
			$sql .= " and lotteryid='$lotteryid' ";
		}
		if (intval ( $uid ) > 0) {
			$sql .= " and uid='$uid' ";
		}
		return intval ( DB::result_first ( $sql ) );
	}
	/**
	 * 獲取使用者來福幣
	 * @param intval $uid
	 * @return number
	 */
	public function get_user_lfb($uid) {
		$sql = "select extcredits2 from sz_common_member_count ";
		$sql .= " where 1 ";
		$sql .= " and uid='$uid' ";
		$s=intval ( DB::result_first ( $sql ) );
		return $s>0?$s:0;
	}
	/**
	 * 記錄日誌和更新使用者來福幣
	 * @param intval $uid
	 * @param intval $r  返回值
	 * @param intval $logid
	 * @param intval $lotteryid
	 */
	private function credit($uid, $result, $logid = 0, $lotteryid = 0,$hao=0) {
		$data = array();
		if ($lotteryid > 0) {
			$data ['lotteryid'] = $lotteryid;
			$data ['iswinning'] = 1;
		}
		$data ['result'] = $result;
		$data ['hao'] = $hao;
		$data ['HTTP_REFERER'] = $_SERVER['HTTP_REFERER'];
		$data['139sz']=$this->type?0:1;
		DB::Update ( $this->lottery_log, $data, " logid='$logid' " );
		if (L_LFB > 0) {
			$sql = "UPDATE sz_common_member_count SET extcredits2=extcredits2-'". L_LFB ."' WHERE extcredits2>'0' and extcredits2>='".L_LFB."' and uid='$uid' ";
			DB::query ( $sql );
			$this->credit_log ( $uid, 'reduce', L_LFB, 1, '積分清零活動' );
		}
	}
	
	/**
	 *手機號檢查
	 */
	private function check_tel($tel){
		$different_network=table_sub::get_different_network();
		if (!preg_match("/$different_network/",$tel)) {
			return false;
		}
		return true;
	}
	/**
	 * 儲存過程連結
	 */
	private $StoreProcs;
	/**
	 * 來福幣日誌 儲存過程
	 * @param intval $uid
	 * @param string $op add增加  reduce 消耗
	 * @param intval $creditvalue 來福幣
	 * @param intval $credittype 1來福幣 2來福點
	 * @param string $oreason  說明
	 */
	private function credit_log($uid, $op, $creditvalue, $credittype, $oreason) {
		if (! $this->StoreProcs) {
			$this->StoreProcs = new StoreProcs ();
		}
		//呼叫儲存過程
		$this->StoreProcs->query ( "call app_credit_log($uid,'$op','$credittype',1,$creditvalue,'$oreason')" );
	}

}
呼叫:
$dzp=new lib_dzp_lottery();
$u=array('uid'=>$_G ['uid'],'tel'=>$_G ['tel'],'ip'=> $_G ['clientip']);
$dzp->load_setting();
$dzp->show($dzp->check($u));


相關推薦

專案4抽獎程式 時間段(時段設定品數概率)

資料庫先 activity_lyq_lottery 獎品表 lotteryid name 禮品名稱 sum 禮品總數 time_start 開始時間 time_end 結束時間 addtime 時間 probability 中獎概率 大於0:表示概率

專案4用迴圈求---(1)求π的近似值

問題及程式碼: /* *copyright(c)2016,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:test.cpp *作者:崔青青 *完成日期2016年3月

第一個SSM前端專案(六)完善註冊後端處理並設定郵箱啟用模式

一、註冊功能後端設計     二、根據設計可以看出我們需要redis來做啟用碼的儲存工作,因此需要在框架中繼承redis 1) 在linux伺服器中安裝redis(建議在伺服器中直接安裝,這樣正式執行的時候比較好操作),可以檢視此篇文章:騰訊雲CentOS 7.4 64

WCF布式4客戶端訪問寄宿在IIS中的WCF服務

ram order ble style 部署過程 比較 logs 一個 model 部署過程比較簡單,新建一個站點,指向服務的物理路徑,設置一個端口。即可。 新建的站點對應一個應用程序池,設置應用程序池中的.NET版本為4.0 寫一個測試客戶端,訪問IIS中的WCF服務,可

在STM32上實現NTFS之4GPT區表的C語言實現(1)主GPT表頭的實現

center mbr分區 sum 對齊 字節數 決定 容器 alt 水平 題外話:在荒廢了很久沒有更新之後……某日突然收到讀者的站內信!內容大體是詢問GPT分區表信息的讀取方式,筆者激動萬分之下,決定繼續解剖NTFS……其實GPT嚴格上不算是NTFS的內容, GPT和M

軟工作業 4結對專案之詞頻統計——基本功能

  一、基本資訊   1、本次作業的地址:https://edu.cnblogs.com/campus/ntu/Embedded_Application/homework/2088     2、專案Git地址:https://gitee.com/ntucs/Pai

python123(Python程式語言設計)--------練習4程式的控制結構

三位水仙花數 描述: "水仙花數"是指一個三位整數,其各位數字的3次方和等於該數本身。 例如:ABC是一個"3位水仙花數",則:A的3次方+B的3次方+C的3次方 = ABC。 請按照從小到大的順序輸出所有的3位水仙花數,請用"逗號"分隔輸出結果。 程式碼實現: 方法一:

組合語言編制程式實現如下操作 設有10個學生的成績別是76,69,84,90,73,88,99,63,100和80

上機程式碼 dataseg segment but   db 0DH,0AH,'the result   $' grade dw 76,69,84,90,73,88,99,63,100,80 s6 db 0 s7 db 0 s8 db

微信開發者工具初始化專案時,進去報錯程式重啟耗時過久,請確認業務邏輯中是否有複雜運算,或者死迴圈

              如圖上,為錯誤原因。   之前用開發者工具用的好好地,前些日子又版本更新,升級了一下,然後開啟專案就出現上面的問題。當時以為電腦出啥問題了,也沒當回事。今天再次開啟開發者工具,發現還是出現上面的問題。一臉懵,新建專案,啥都沒做竟然出問題。網上一查同樣的問題一大堆。

專案練習百度翻譯小程式

1 # -*- coding:utf-8 -*- 2 # Author:Sure Feng 3 4 import requests 5 import json 6 import sys 7 8 class BaiduFanyi(object): 9 def __init__

Jenkins構建Python專案提示'python' 不是內部或外部命令,也不是可執行的程式

問題描述: jenkin整合python專案,立即構建後,發現未執行成功,檢視Console Output 提示:'Python' 不是內部或外部命令,也不是可執行的程式,如下圖: 1.在 Windows 提示符下執行是沒有問題。 2.把Jenkins專案配置中 python main.p

4.11 實戰專案3併發爬蟲

匯入類庫 import ( "fmt" "regexp" "net/http" "io/ioutil" "strings" "sync" "

習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函式printArea分別輸出以上。。。

C++程式設計(第三版) 譚浩強 習題12.4 個人設計 習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三

ASP.NET Core 2.0和Angular 4從頭開始構建用於車輛管理的Web應用程式

  目錄 介紹 背景 使用程式碼 I)伺服器端 a)先決條件 b)設定專案 c)設定資料庫 d)使用AutoMapper e)使用Swagger f)執行API II)客戶端 a)先決條件 b)設定專案 c)實現服務 d)

4-QT的程式打包釋出(將QT5的工程專案打包成一個exe程式

https://blog.csdn.net/windsnow1/article/details/78004265  最近,在學習QT5的過程中,想嘗試著把自己寫的工程程式給打包釋出出來,在任何一臺windows系統都能執行,這樣就不會限於電腦需不需要安裝QT安裝包了。 首先,先介紹自己使用的環境。

python123--------練習4程式的控制結構

三位水仙花數 "水仙花數"是指一個三位整數,其各位數字的3次方和等於該數本身。 例如:ABC是一個"3位水仙花數",則:A的3次方+B的3次方+C的3次方 = ABC。 請按照從小到大的順序輸出所有的3位水仙花數,請用"逗號"分隔輸出結果。 方法一: num =

4個小程式之旅的第一個問題程式頁面設定頁面高度100%

放程式碼: <view class='login-container'> <view class='form-container'> </view> </view> wxss .login-contain

4基本結構和基本資料型別/4.2 Go 程式的基本結構和要素/4.2.5 可見性

易學筆記 十年IT經驗個人學習筆記分享: 開發語言:C/C++/JAVA/PYTHON/GO/JSP WEB架構:Servlets/springMVC/springBoot/springClound 容器架構:Docker容器/Docker叢集/Docker與微服務整合/

4基本結構和基本資料型別/4.2 Go 程式的基本結構和要素/4.2.4 import匯入包

易學筆記 十年IT經驗個人學習筆記分享: 開發語言:C/C++/JAVA/PYTHON/GO/JSP WEB架構:Servlets/springMVC/springBoot/springClound 容器架構:Docker容器/Docker叢集/Docker與微服務整合/

4基本結構和基本資料型別/4.2 Go 程式的基本結構和要素/4.2.6 函式

易學筆記 十年IT經驗個人學習筆記分享: 開發語言:C/C++/JAVA/PYTHON/GO/JSP WEB架構:Servlets/springMVC/springBoot/springClound 容器架構:Docker容器/Docker叢集/Docker與微服務整合/