首页 / GO / GOPATH与类库复用
GOPATH与类库复用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了GOPATH与类库复用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2249字,纯文字阅读大概需要4分钟。
内容图文
GOPATH与类库复用
/* 复用自己的包时使用。 外部类库的检索路径目录 在目录中检索代码包
*/
/* 要想mylib包被检索到,就要将【路径】添加到GOPATH中 想本工程使用,就添加到本工程中GOPATH 想全局使用,就添加到全局GOPATH 首先包的上一层文件夹必须叫src 也就是xuexi/src/mylib 配置GOPATH是配置xuexi,然后会自动检索src 【路径】 = mylib的上2级文件夹,上1级文件夹必须叫src */
在当前工程(xuexi)使用mylib 包
/* 1 在本工程里创建src目录 2 然后将mylib放入src目录中。 3 在设置里将 本工程主目(xuexi)设置为 本工程变量中.
*/
在其他工程(nuli)使用mylib 包
/* 1 新打开一个其他工程,全局变量信息不要修改。 2 把mylib包复制到全局变量的src目录中,就自动识别了。 */
本工程案例,具体的代码分布展示
/* 注意 Nmaes 变量是全局变量,之前的names都要改为Names */
xuexi/02.go
1 package main 2 3 import ( 4 " fmt " 5 " mylib " 6 ) 7 8 9 10 func main() { 11 // 招生 12 mylib.AddMember("小王", "小红", "小张", "小许", "小明", "小曼") 13 fmt.Println(mylib.Names) 1415//把学生随机分配成绩 也就是考试16 scoreMap := mylib.TakeExam(mylib.Names...) 17 fmt.Println(scoreMap) 1819//显示排名20 mylib.ShowRanking(scoreMap) 2122 }
xuexi/src/mylib/exam.go
1 package mylib 2 3 import ( 4 " fmt " 5 " math/rand " 6 " time " 7 ) 8 9 // 全局变量 10 11 var Names []string1213//--包初始化函数,执行在main函数之前.14func init() { 15 fmt.Println("***包初始化***") 16 Names = make([]string, 0) 17} 1819//对成绩做降序排名 进行排序20 func ShowRanking(scoreMap map[string]int) { 2122//形成名单,锁死姓名的循序,才能开始排序.23 names := make([]string, 0) 24for name, _ := range scoreMap { 25 names = append(names, name) 26 } 2728/*对names 按分数的降序进行排列*/29for i := 0; i < len(scoreMap)-1; i++ { 30//锁定第i位,将i后面的每个人(i),的分数与第i个人比较. 31// 将剩余的同志中,最高分数的人,调整到当前位置.32for j := i + 1; j < len(names); j++ { 33//如果第四个人的分数比第三个人高,就互换位置.34if scoreMap[names[j]] > scoreMap[names[i]] { 35 names[i], names[j] = names[j], names[i] 36 } 3738 } 3940 } 41/*按names的顺序输出姓名和排序*/42for i, name := range names { 43 fmt.Printf("第%d名:%-6s \t %3d\n", i+1, name, scoreMap[name]) 44 } 45} 464748//给examres考试,为每个人生成随机成绩.49 func TakeExam(examers ...string) (scoreMap map[string]int) { 5051//定义出scoreMap里面是空的52 scoreMap = make(map[string]int) 5354for _, name := range examers { 55 score := GetRandomInt(100) 56 scoreMap[name] = score 5758 } 59return60} 6162//生成0-n之间的随机分数63 func GetRandomInt(n int) int { 64 time.Sleep(time.Nanosecond) //睡1毫秒65 r := rand.New(rand.NewSource(time.Now().UnixNano())) 66return r.Intn(n + 1) 67} 6869//添加学生的函数70 func AddMember(newcomers ...string) { 71 Names = append(Names, newcomers...) 7273 }
完毕!!
原文:https://www.cnblogs.com/chaoyangxu/p/11896197.html
内容总结
以上是互联网集市为您收集整理的GOPATH与类库复用全部内容,希望文章能够帮你解决GOPATH与类库复用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】