《Go语言程序设计》第6章练习

本文档提供了Go语言编程的实践题目,包括如何操作字典删除与添加键值对,创建并计算float64类型Slice的平均值,以及使用bytes包统计文本中单词'er'的出现次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.5 设字典map1的键是string型,值是int型,初始化为[psw1:123 psw2:456 psw3:789],要求删除键值对psw2:456,增加键值对psw4:135,请编写程序实现上述功能。

package main

import (
	"fmt"
)

func main() {
	var map1 = map[string]int{"psw1": 123, "psw2": 456, "psw3": 789}
	delete(map1, "psw2")
	map1["psw4"] = 135
	fmt.Println(map1)
}


6.6 创建一个float64类型的Slice,初始化并计算该Slice元素平均值。

package main

import (
	"fmt"
)

func main() {
	var slice = []float64{1.0, 1.5, 2.2, 3.6}
	var sum float64
	for _, v := range slice {
		sum += v
	}
	avg := sum / float64(len(slice))
	fmt.Println(avg)
}


6.7 利用bytes包中的字节切片函数,统计文本文件中含有er单词的个数。

package main

import (
	"bytes"
	"fmt"
	"os"
)

func main() {
	var sum int
	buf := make([]byte, 1024)
	f, _ := os.Open("words.txt")
	defer f.Close()
	n, _ := f.Read(buf)
	for _, sentence := range bytes.FieldsFunc(buf[:n], f1) {
		for _, words := range bytes.Fields(sentence) {
			if bytes.Contains([]byte(words), []byte("er")) {
				fmt.Println(string(words))
				sum++
			}
		}
	}
	fmt.Println("含有er的单词总数为", sum)
}

func f1(a rune) bool {
	return a == ',' || a == '.' || a == '!'
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值