Go語言打造起名系統,拿去叫我雷鋒

2021-08-31 19:21:26 字數 1008 閱讀 2580

需求簡介

整體實現思路

**實現

資料準備

/*定義姓、輩、名的資料容器*/

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....