需求簡介
整體實現思路
**實現
資料準備
/*定義姓、輩、名的資料容器*/
var (
//定義一堆姓氏
familynames = string
//建立輩分字典,姓氏為鍵,該姓氏的全部【輩分字切片】為值
middlenamesmap = map[string]string{}
//定義一堆名字
lastnames = string)/*
在包的初始化方法中,為不同姓氏配置不同輩分字切片
這裡桫哥模擬的是為歐陽氏新增「宗的永其光」五個輩分字,其餘的是亂扯的~
*/func init()
} else
} }}
於是我們胡亂抽取姓氏和名字,輩分字先根據姓氏查詢到對應的切片,再從切片裡亂抓乙個,實現如下:
func getrandomname() (name string)
上面我們用到了乙個獲取隨機數的函式func getrandomint(start, end int) int,它能從[start,end]之間抓取隨機整數,其實現如下:
var(
//隨機數互斥鎖(確保getrandomint不能被併發訪問)
randommutex sync.mutex
)/*獲取[start,end]之間的隨機數*/
func getrandomint(start, end int) int
讓我們一起去浪(golang)~
酷斃了有木有?!
go語言學生管理系統
學習go語言的第4天,用函式 之後用結構體 寫個學生管理系統,功能不嚴謹,只是學習過程中隨便練手的 package main import fmt os 函式版的學生資訊管理 寫乙個系統能夠檢視 增加 刪除學生 type student struct var allstudent map int64...
Go專案實戰 打造高併發日誌採集系統(十)
前文我們完成了日誌管理系統後台開發。這次為日誌管理搭建乙個web管理平台,可以通過web端錄入專案和配置資訊,以及專案對應的日誌路徑和採集資訊,並且寫入etcd,這樣通過之前編寫的日誌採集系統可以根據etcd採集對應的日誌。web端採用beego框架進行開發,beego是乙個採用mvc三層架構設計的...
打造一款屬於自己的go語言socket框架
socket是應用層與tcp ip協議族通訊的中間軟體抽象層,它是一組介面。其實說白了,socket就是系統提供的一組介面,來用於網路程式設計,既可以tcp也可以用於udp。func listening for go connhandle conn func connhandle conn net....