1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
// main.go - 使用自定义包
package main
import (
"fmt"
"./utils" // 相对路径导入(不推荐)
// 推荐使用模块路径:
// "myproject/utils"
)
func main() {
// 1. 使用导出的函数
fmt.Printf("5 + 3 = %d\n", utils.Add(5, 3))
fmt.Printf("4 * 6 = %d\n", utils.Multiply(4, 6))
fmt.Printf("2^8 = %.0f\n", utils.Power(2, 8))
// 2. 使用导出的常量和变量
fmt.Printf("最大整数: %d\n", utils.MaxInt)
fmt.Printf("默认精度: %d\n", utils.DefaultPrecision)
fmt.Printf("版本: %s\n", utils.Version)
// 3. 使用导出的结构体
calc := utils.NewCalculator(3)
fmt.Printf("计算器加法: %.3f\n", calc.Add(1.23456, 2.34567))
fmt.Printf("计算器减法: %.3f\n", calc.Subtract(5.6789, 2.1234))
// 4. 使用字符串工具函数
text := "Hello, World!"
fmt.Printf("原文: %s\n", text)
fmt.Printf("反转: %s\n", utils.Reverse(text))
fmt.Printf("标题格式: %s\n", utils.TitleCase("hello world"))
// 5. 回文检查
palindromes := []string{"racecar", "A man a plan a canal Panama", "hello"}
for _, p := range palindromes {
fmt.Printf("'%s' 是回文: %t\n", p, utils.IsPalindrome(p))
}
// 6. 词频统计
sentence := "the quick brown fox jumps over the lazy dog the fox is quick"
wordCount := utils.WordCount(sentence)
fmt.Println("词频统计:")
for word, count := range wordCount {
fmt.Printf(" %s: %d\n", word, count)
}
// 注意:不能访问未导出的函数
// utils.internalCalculation(5) // 编译错误
// utils.removeNonAlphanumeric("test") // 编译错误
}
|