【GO】创建包练习题

创建工具包 mathutil

题目描述

在项目下创建文件夹 mathutil

新建文件 calc.go,包名 package mathutil

  • 定义公开函数 :
    • Add(a, b int) int 返回两数之和
    • Mul(a, b int) int 返回两数之积
  • 在 main.go 中导入包,调用两个函数

实现代码

Go 复制代码
package mathutil

// 加法(公开,大写)
func Add(a, b int) int {
	return a + b
}

// 乘法(公开,大写)
func Mul(a, b int) int {
	return a * b
}


package main

import (
	"fmt"
	"demo/mathutil"
)

func main() {
	sum := mathutil.Add(10, 20)
	product := mathutil.Mul(10, 20)

	fmt.Println("10 + 20 =", sum)
	fmt.Println("10 * 20 =", product)
}

创建工具包 stringutil

题目描述

创建字符串工具包 stringutil

  • 实现两个公开函数:
    • Len(s string) int 返回字符长度(支持中文)
    • Contains(s, sub string) bool 判断是否包含子串
  • main 中导入并测试

实现代码

Go 复制代码
package stringutil

import "unicode/utf8"

// 计算字符长度(支持中文)
func Len(s string) int {
	return utf8.RuneCountInString(s)
}

// 判断是否包含子串
func Contains(s, sub string) bool {
	for i := 0; i <= len(s)-len(sub); i++ {
		if s[i:i+len(sub)] == sub {
			return true
		}
	}
	return false
}


package main

import (
	"fmt"
	"项目名/stringutil"
)

func main() {
	str := "我爱Go语言"
	fmt.Println("字符长度:", stringutil.Len(str))
	fmt.Println("包含Go?", stringutil.Contains(str, "Go"))
}
相关推荐
紧跟先前的步伐11 小时前
Go AI Agent 实战 24|工具系统工程化收尾与阶段验收
人工智能·ai·golang·1024程序员节
日日大王学编程13 小时前
#Feed 流项目复盘:Redis 时间线缓存与 Outbox 消息可靠性设计
golang·1024程序员节
北冥you鱼20 小时前
Go 语言 CRUD 实战:从接口设计到真实业务场景
开发语言·后端·golang
利威尔xu1 天前
Go IM 源码实战(11):token 只是个 HASH,多端互踢的顺序错了就踢错人
后端·微服务·面试·架构·golang
microrain1 天前
SagooIoT 把协议解析和消息通知都放进了独立进程
物联网·golang·插件·sagooiot
北冥you鱼1 天前
Go 语言 GORM 使用 Preload:从关联查询到嵌套预加载的完整实践
开发语言·jvm·golang
microrain1 天前
把规则链存成文件之后,上线一条规则只需改一个字段
物联网·golang·规则引擎·sagooiot
SEO_juper1 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
FungLeo2 天前
成为全栈·Go 后端篇·跨语言认证兼容:Node 与 Go 如何互认 JWT 和密码
golang·go·jwt·身份认证·成为全栈·bcrypt