文档章节

Go基础知识学习(4)包

michaelpan
 michaelpan
发布于 2014/08/08 16:57
字数 222
阅读 16
收藏 0

包(package)是函数和数据的集合,类似android的jar或者C中的库,

我们创建一个包含冒泡排序算法的包 │ exp6.go └─algorithms bubble.go 其中 exp6.go 是测试包的程序,algorithms/bubble.go 是包程序 exp6.go 代码如下:

package main

import (
	"fmt"
	"github.com/panyingyun/gostudy/algorithms"
)

func main() {
	s := []int{10, 5, 6, 3}
	fmt.Println(s)
	bubble.Sort(s)
	fmt.Println(s)
}

bubble.go代码如下:

//bubblesort.go

package bubble

func Sort(values []int) {
	flag := true

	for i := 0; i < len(values)-1; i++ {
		flag = true

		for j := 0; j < len(values)-i-1; j++ {
			if values[j] > values[j+1] {
				values[j], values[j+1] = values[j+1], values[j]
				flag = false
			}
		}

		if flag == true {
			break
		}
	}
}

包中的导出函数必须以大写字母开头,这样引用这个包的文件才能访问这个函数 具体运行是,切换到algorithms, 运行 go install, 然后再go run exp6.go 即可

代码: https://github.com/panyingyun/gostudy

© 著作权归作者所有

共有 人打赏支持
michaelpan
粉丝 4
博文 33
码字总数 9970
作品 0
杭州
高级程序员
私信 提问
Python数据分析学习路径图(120天Get新技能)

Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。由于他简单、易学、免费开源、可移植性、可扩展性等特点,Python又被称之为胶水语言。下图为主要程序语...

数据007
2016/01/22
0
0
【RL-TCPnet网络教程】第22章 RL-TCPnet之网络协议IP

第22章 RL-TCPnet之网络协议IP 本章节为大家讲解IP(Internet Protocol,网络协议),通过前面章节对TCP和UDP的学习,需要大家对IP也有个基础的认识。 (本章的知识点主要整理自网络) 22.1...

席萌0209
2018/08/22
0
0
R语言知识体系概览

R语言知识体系概览 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。 R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到...

openthings
2015/12/19
284
0
react,react-router 4,mobx构建我的移动端web

这几天终于在空余时间把我pc网站的极客教程做了一个简洁的移动web,做得比较简单,看看效果图: image.png ,暂时只有看文章的功能,其余的慢慢的再加。做这个的目的主要是想学习下react相关技...

极客教程
2017/11/09
0
0
Python的基础知识之常用类型-元祖

随着年龄的增长,发际线越来越高,头发越来越少,记忆力越来越差,因此小编为了记录学习的元祖,特写此文,与君共勉。 tmpdir17961030_49.JPG 1、元祖的定义 元祖:有序不可变集合,用()表...

摸着石头过河_崖边树
2017/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式-适配器模式

一、什么是适配器? 适配器就是一种适配中间件,将两种不匹配的东西进行适配连接,举一个生活中的例子。小金最近买了最新款的macbook pro,但是发现电脑的数据接口都变成了Type c接口,这导致...

kimyeongnam
21分钟前
1
0
在没有 Emacs 的情况下使用 Org 模式

每到年初似乎总有这么一个疯狂的冲动来寻找提高生产率的方法。新年决心,正确地开始一年的冲动,以及“向前看”的态度都是这种冲动的表现。软件推荐通常都会选择闭源和专利软件。但这不是必须...

linux-tao
34分钟前
2
0
Krpano skin_settings解释

<skin_settings maps="false" 是否显示地图按钮 maps_type="google" 地图类型 maps_bing_api_key="" bing地图授权key maps_google_......

华山猛男
35分钟前
1
0
兼容率达78%!首份Android Q版本兼容性评测报告出炉

据《Android Q Beta 1版本—国内主流千款典型应用兼容性测试数据评测报告》显示,该版本兼容率为78%。 那么,千款主流应用在Android Q版本兼容情况表现如何,不兼容的主要原因是什么,又将如...

安卓绿色联盟
37分钟前
2
0
二维数组排序

以二维数组$arr中apply_num为数字降序排列:array_multisort(array_column($arr,'apply_num'),SORT_DESC,SORT_NUMERIC,$arr);...

郭周园
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部