1腺占、獲取當(dāng)前系統(tǒng)標(biāo)準(zhǔn)時(shí)間并顯示,將其轉(zhuǎn)化為中文時(shí)間格式并顯示校套,結(jié)果如下
當(dāng)前標(biāo)準(zhǔn)時(shí)間:3455435455? 中文顯示為:2021年1月7日 15:30:30
package main
import "fmt"
import "time"
func main(){
? ? ? ? now:=time.Now()
? ? ? ? fmt.Println(now)
? ? ? ? fmt.Println("標(biāo)準(zhǔn)時(shí)間:",now.Unix())
? ? ? ? fmt.Println(now.Format("2006-01-02 15:04"))
? ? ? ? year:=now.Year()
? ? ? ? month:=now.Month()
? ? ? ? day:=now.Day()
? ? ? ? hour:=now.Hour()
? ? ? ? minute:=now.Minute()
? ? ? ? second:=now.Second()
? ? ? ? fmt.Printf("%d年%d月%d日 %d:%d:%d\n",year,month,day,hour,minute,second)
}
2. 數(shù)字32768和字符串“65535”實(shí)現(xiàn)數(shù)字和字符串之間的互相轉(zhuǎn)化并輸出,同時(shí)使用%T輸出數(shù)據(jù)類(lèi)型。
package main
import "fmt"
import "strconv"
func main(){
? ? ? ? var i int=32765
? ? ? ? var j string="65535"
? ? ? ? k:=strconv.Itoa(i)
? ? ? ? fmt.Printf("%T:%s\n",k,k)
? ? ? ? x,_:=strconv.Atoi(j)
? ? ? ? fmt.Printf("%T:%d\n",x,x)
}
3.輸入一個(gè)字符串將其進(jìn)行MD5后輸出字符串绽乔。
package main
import "fmt"
import "crypto/md5"
func main() {
? ? ? ? var input string
? ? ? ? print("請(qǐng)輸入一個(gè)字符串:")
? ? ? ? fmt.Scanf("%s", &input)
? ? ? ? fmt.Printf("輸入字符串為:%s\n",input)
? ? ? ? data := []byte(input)
? ? ? ? md5 := md5.Sum(data)
? ? ? ? fmt.Printf("md5后的值為:%x\n", md5)
}
4.建立一個(gè)100-999的隨機(jī)數(shù)切片并排序輸出,每行5個(gè)碳褒。
package main
import "fmt"
import "math/rand"
import "time"
import "sort"
func main() {
? ? ? ? rand.Seed(time.Now().UnixNano()) //以納秒當(dāng)前時(shí)間設(shè)置種子
? ? ? ? var data []int
? ? ? ? for i := 0; i < 100; i++ {
? ? ? ? ? ? ? ? data=append(data,rand.Intn(1000)) //1000以?xún)?nèi)隨機(jī)整數(shù)
? ? ? ? ? ? ? ? if (i+1)%5 == 0 {
? ? ? ? ? ? ? ? ? ? ? ? fmt.Printf("%d\t\n", data[i])
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? fmt.Printf("%d\t", data[i])
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ? println("")
? ? ? ? sort.Ints(data)
? ? ? ? for i := 0; i < 100; i++ {
? ? ? ? ? ? ? ? if (i+1)%5 == 0 {
? ? ? ? ? ? ? ? ? ? ? ? fmt.Printf("%d\t\n", data[i])
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? fmt.Printf("%d\t", data[i])
? ? ? ? ? ? ? ? }
? ? ? ? }? ? ? ? ? ? ? ? ? ?
5.建立一個(gè)8位長(zhǎng)的隨機(jī)字符串?dāng)?shù)組str[50]并json輸出折砸。
6.輸入一個(gè)球體半徑看疗,輸出表面積和體積。要求用結(jié)構(gòu)體和兩個(gè)方法分別計(jì)算表面積和體積睦授。
7.定義字符串切片两芳,append 3個(gè)字符串后打印輸出并輸出長(zhǎng)度和最大容量。
package main
import "fmt"
func main() {
? ? ? ? var str []string
? ? ? ? str=append(str,"sunjian")
? ? ? ? str=append(str,"Renting")
? ? ? ? str=append(str,"Renxxiao")
? ? ? ? fmt.Printf("%s\tLenth:%d\tCap:%d\n",str[0],len(str),cap(str))
? ? ? ? fmt.Printf("%s\tLenth:%d\tCap:%d\n",str[1],len(str),cap(str))
? ? ? ? fmt.Printf("%s\tLenth:%d\tCap:%d\n",str[2],len(str),cap(str))
}
8.利用不定參函數(shù)計(jì)算所有參數(shù)之和去枷。
package main
func add(x ...int) int {
? ? ? ? total := 0
? ? ? ? for _, i := range x {
? ? ? ? ? ? ? ? total = total + i
? ? ? ? }
? ? ? ? return total
}
func main() {
? ? ? ? println(add(10, 20, 30, 40, 50, 60, 70, 80, 90, 100))
}
9.輸出10000個(gè)hello world!查看執(zhí)行時(shí)間
package main
import (
? ? ? ? "time"
? ? ? ? "fmt"
)
func main(){
? ? ? ? begin:=time.Now()
? ? ? ? for i:=0;i<10000;i++{
? ? ? ? println("Hello World !")
? ? ? ? }
? ? ? ? sp:=time.Since(begin)
? ? ? ? fmt.Printf("程序執(zhí)行時(shí)間:%v",sp)
}
10
解決這個(gè)叫做 Fizz-Buzz 的問(wèn)題: 編寫(xiě)一個(gè)程序怖辆,打印從 1 到 100 的數(shù)字。當(dāng)是3個(gè)倍數(shù)數(shù)就打印 “Fizz” 代替數(shù)字删顶,當(dāng)是5的倍數(shù)就打印 “Buzz” 竖螃。當(dāng)數(shù)字同時(shí)是3和5的倍數(shù) 時(shí),打印 “FizzBuzz” 逗余。
11.建立一個(gè) Go 程序打印下面的內(nèi)容(到 100 個(gè)字符):
? ? ? A
? ? ? AA
? ? ? AAA
? ? ? AAAA
? ? ? AAAAA
? ? ? AAAAAA
? ? ? AAAAAAA
12.建立一個(gè)程序統(tǒng)計(jì)字符串里的字符數(shù)量: asSASA ddd dsjkdsjs dk 同時(shí)輸出這個(gè)字符串的字節(jié)數(shù)特咆。 提示: 看看 unicode/utf8 包。
擴(kuò)展/修改上一個(gè)問(wèn)題的程序录粱,替換位置 4 開(kāi)始的三個(gè)字符為 “abc”腻格。
13.編寫(xiě)一個(gè) Go 程序可以逆轉(zhuǎn)字符串,例如 “foobar” 被打印成 “raboof”关摇。
編寫(xiě)計(jì)算一個(gè)類(lèi)型是 float64 的 slice 的平均值的代碼荒叶。
package main
import "fmt"
func main(){
? ? ? ? f:=[]float64{4.5,5,3,6,8,10.3}
var total float64=0
for i:=0;i<len(f);i++{
? ? ? ? total=f[i]+total
}
fmt.Printf("avg=%f\n",total/float64(len(f)))
}
14.編寫(xiě)函數(shù),返回其(兩個(gè))參數(shù)正確的(自然)數(shù)字順序:
15.編寫(xiě)函數(shù)接受整數(shù)類(lèi)型變參输虱,并且每行打印一個(gè)數(shù)字些楣。
package main
import "fmt"
func res( a ...int){
? ? ? ? for _,b:=range a{
? ? ? ? fmt.Printf("%d\t",b)
? ? ? ? }
}
func main(){
? ? ? ? res(5,7,8,30,29,4-4,5067)
16.斐波那契數(shù)列以:1,1,2,3,5,8,13,... 開(kāi)始∠芏茫或者用數(shù)學(xué)形式表達(dá):x 1 = 1;x 2 = 1;x n = x n?1 + x n?2 ?n > 2愁茁。 編寫(xiě)一個(gè)接受 int 值的函數(shù),并給出這個(gè)值得到的斐波那契數(shù)列亭病。
17.編寫(xiě)一個(gè)函數(shù)鹅很,找到 int slice ( []int ) 中的最大值和最小值。
18.編寫(xiě)一個(gè)針對(duì) int 類(lèi)型的 slice 冒泡排序的函數(shù)
19.編寫(xiě)一個(gè)函數(shù)返回另一個(gè)函數(shù)罪帖,返回的函數(shù)的作用是對(duì)一個(gè)整數(shù) +2促煮。函數(shù)的名 稱(chēng)叫做 plusTwo 。然后可以像下面這樣使用: p := plusTwo() fmt.Printf("%v\n", p(2)) 應(yīng)該打印 4整袁。
20.編寫(xiě)一個(gè)程序菠齿,模仿 Unix 的 cat 程序。對(duì)于不知道這個(gè)程序的人來(lái)說(shuō)坐昙,下面的 調(diào)用顯示了文件 的內(nèi)容:
使其支持 n 開(kāi)關(guān)绳匀,用于輸出每行的行號(hào)
21.實(shí)現(xiàn)斐波拉契 使用channel。
22. 定義一個(gè)包括8個(gè)字符串的切片,輸出下標(biāo)3-5的字符串疾棵,輸出前5個(gè)字符串戈钢,輸出6以后字符串。
23.題目: 有1是尔、2殉了、3、4個(gè)數(shù)字嗜历,可以組成多少個(gè)互不相同并且無(wú)重復(fù)數(shù)字的三位數(shù)宣渗?都是多少?
package main
import "fmt"
func main() {
? ? for i := 1; i < 5; i++ {
? ? ? ? for j := 1; j < 5; j++ {
? ? ? ? ? ? for k := 1; k < 5; k++ {
? ? ? ? ? ? ? ? if (i != k) && (i != j) && (j != k) {
? ? ? ? ? ? ? ? ? ? fmt.Println("這個(gè)數(shù)是: ", i, j, k)
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
24.輸入一個(gè)不定長(zhǎng)的成績(jī)單梨州,使用不定參數(shù)函數(shù)返回三個(gè)值分別為課程門(mén)數(shù)痕囱,平均分,總分暴匠。
25.編程實(shí)現(xiàn):使用itoa和const鞍恢,定義一周的數(shù)值,如Monday=1 每窖,Tuesday=2帮掉,依次類(lèi)推Sunday=7。
26.編程實(shí)現(xiàn):實(shí)現(xiàn)字符串"123"和整數(shù)123之間的互轉(zhuǎn)窒典,并格式化輸出他們轉(zhuǎn)換后的類(lèi)型和值蟆炊。
27.編程實(shí)現(xiàn):使用類(lèi)型別名,讓go語(yǔ)言支持中文關(guān)鍵字瀑志,如 int可以用整數(shù)型替代涩搓。
28.編程實(shí)現(xiàn):聲明一組變量:姓名(Name),年齡(Age)劈猪,籍貫(From)昧甘,專(zhuān)業(yè)(Major),從控制臺(tái)接收內(nèi)容并賦值給這些變量,最后輸出這些變量的值战得。
29.寫(xiě)一個(gè)程序充边,獲取當(dāng)前時(shí)間,并格式化成 2017/06/15 08:05:00形式常侦。
30.寫(xiě)一個(gè)程序浇冰,統(tǒng)計(jì)一段代碼的執(zhí)行耗時(shí),單位精確到微秒聋亡。
31.計(jì)算99乘法表
32.寫(xiě)一個(gè)程序湖饱,對(duì)包含中文的字符串逆序。
33.寫(xiě)一個(gè)程序杀捻,判斷一個(gè)字符串串是否是回文。
34.求1到100之內(nèi)的所有質(zhì)數(shù),并打印到屏幕上/*致讥、
35.打印出所有的“水仙花數(shù)”仅仆,所謂“水仙花數(shù)”是指?一個(gè)三位數(shù),其各位數(shù)字?立方和等于該數(shù)本身垢袱。例例如:153是一個(gè)“水仙花數(shù)”墓拜,因?yàn)?53=1的三次方+5的三次方 +3的三次方。求100到1000之間的所有水仙花數(shù)请契,
36.輸入一行字符咳榜,分別統(tǒng)計(jì)出其中英文字母、空格爽锥、數(shù)字和其它字符的個(gè)數(shù)涌韩。
37.生成1000個(gè)隨機(jī)數(shù)組,實(shí)現(xiàn)一個(gè)插入排序氯夷,輸出執(zhí)行時(shí)間臣樱。
38.生成1000個(gè)隨機(jī)數(shù)組,實(shí)現(xiàn)一個(gè)選擇排序腮考,輸出執(zhí)行時(shí)間雇毫。
39.生成1000個(gè)隨機(jī)數(shù)組,實(shí)現(xiàn)一個(gè)冒泡排序踩蔚,輸出執(zhí)行時(shí)間棚放。
40.用sort包對(duì)數(shù)組排序
40.實(shí)現(xiàn)一個(gè)密碼生成工具,支持以下功能
用戶(hù)可以通過(guò) -l 指定生成密碼的長(zhǎng)度馅闽。提示:可以用標(biāo)準(zhǔn)包 “flag”解析命令行參數(shù) 用戶(hù)可以通過(guò) -t 指定生成密碼的字符集飘蚯,比如 -t num生成全數(shù)字的密碼。
-t char 生成包含全英?文字符的密碼捞蛋,
-t mix包含生成數(shù)字和英文的密碼孝冒,
-t advance 生成包含數(shù)字、英文及特殊字符的密碼
41.實(shí)現(xiàn)一個(gè)類(lèi)似 linux的tree 命令拟杉,輸入tree.exe能夠以樹(shù)狀的形式當(dāng)前目錄下所有文件
42.隨機(jī)生成1000個(gè)100以?xún)?nèi)整數(shù)保存到數(shù)組庄涡,并倒序打印以及求平均值、最大值搬设、最小值的下標(biāo)穴店、并查找里面是否有55.
43.實(shí)現(xiàn) WordCount。它應(yīng)當(dāng)返回一個(gè)映射拿穴,其中包含字符串 s 中每個(gè)“單詞”的個(gè)數(shù)泣洞。函數(shù) wc.Test 會(huì)對(duì)此函數(shù)執(zhí)行一系列測(cè)試用例,并輸出成功還是失敗默色。
你會(huì)發(fā)現(xiàn) strings.Fields 很有幫助球凰。
代碼段:
package main
import "strings"
import (
"golang.org/x/tour/wc"
)
func WordCount(s string) map[string]int {
m:=make(map[string]int)
danci:=strings.Fields(s)
for _,value := range danci{
m[value]++;
}
return m
}
func main() {
wc.Test(WordCount)
}
44. echo 程序呕诉,使其能夠打印 os.Args[0] 缘厢,即被執(zhí)行命令本身的名字
package main
import (
"fmt"
"os"
)
func main() {
var s, sep string
for i := 0; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Println(s)
}
45.修改 echo 程序,使其打印每個(gè)參數(shù)的索引和值甩挫,每個(gè)一行
package main
import (
"fmt"
"os"
)
func main() {
for k, arg := range os.Args[0:] {
fmt.Println(k, arg)
}
45.一個(gè)整數(shù)輸出二進(jìn)制結(jié)果并按位取反贴硫,輸入結(jié)果。并輸出左移右移一位后結(jié)果伊者。兩個(gè)整數(shù)進(jìn)行按位與和按位異或操作英遭。
46.循環(huán)輸出1~50的數(shù)字遇到包含4的數(shù)字跳過(guò)。
47.開(kāi)啟十個(gè)協(xié)程亦渗,實(shí)現(xiàn)0到9這十個(gè)數(shù)據(jù)自己和自己相加挖诸。(這十個(gè)幾乎是同時(shí)執(zhí)行的。)
48.建立一個(gè)包實(shí)現(xiàn)加減乘除央碟,四則運(yùn)算.在主程序中調(diào)用該包税灌。