【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"))
}
相关推荐
ttwuai12 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
microrain20 小时前
从硬编码到热插拔:SagooIoT插件架构如何打破物联网平台的扩展瓶颈
物联网·golang·开源·sagooiot
geovindu21 小时前
go:Backtracking Algorithm
开发语言·后端·算法·golang·回溯算法
qq_4523962321 小时前
第六篇:《并发编程核心:Goroutine 与 Channel》
golang
llwszx21 小时前
【Java/Go后端手撸原生Agent(第五篇):多工具并行调用 + BashTool执行引擎 + Judge证据链升级】
java·后端·golang·状态机·pydantic·agnet·llm-as-judge
FfHUCisI21 小时前
Go语言程序结构 —— 变量、声明与零值机制
golang
超人不会飞_Jay1 天前
Go课程2
开发语言·后端·golang
晴空了无痕1 天前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
qq_452396232 天前
第五篇:《接口与错误处理:Go 的哲学》
开发语言·后端·golang
布朗克1682 天前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准