golang每日一练 第二天

 包的导入语法

在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下:

import(

        "fmt"
     )

然后在代码里面可以通过如下的方式调用

fmt.Println("hello world")

上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块:

相对路径     import   "./model"  //当前文件同一目录的model目录,但是不建议这种方式import

绝对路径    import   "shorturl/model"  //加载GOPATH/src/shorturl/model模块

上面展示了一些import常用的几种方式,但是还有一些特殊的import,让很多新手很费解,下面是三种导入包的使用方法。

1. 点操作   有时候会看到如下的方式导入包     import( . “fmt” )

这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的fmt.Println(“hello world”)  可以省略的写成Println(“hello world”)

2. 别名操作   别名操作顾名思义可以把包命名成另一个用起来容易记忆的名字

import( f “fmt” )   别名操作调用包函数时前缀变成了重命名的前缀,即f.Println(“hello world”)

3.  _操作   这个操作经常是让很多人费解的一个操作符,请看下面这个import

import ( “database/sql” _ “github.com/ziutek/mymysql/godrv” )

_操作其实只是引入该包。当导入一个包时,它所有的init()函数就会被执行,但有些时候并非真的需要使用这些包,仅仅是希望它的init()函数被执 行而已。这个时候就可以使用_操作引用该包了。即使用_操作引用包是无法通过包名来调用包中的导出函数,而是只是为了简单的调用其init函数()。

时间: 2024-11-08 18:28:03

golang每日一练 第二天的相关文章

golang每日一练 第三天

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式. Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v",

golang每日一练 第一天

list是一个双向链表.该结构具有链表的所有功能 type List func New() *List //返回一个初始化的listfunc (l *List) Back() *Element //获取list l的最后一个元素func (l *List) Front() *Element //获取list l的第一个元素func (l *List) Init() *List  //list l初始化或者清除list lfunc (l *List) InsertAfter(v interface

C语言每日一练——第二题

一.题目要求 已知数据文件in.dat中存有300个四位数,并调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及所有不满足此条件的四位数平均数pjz2.最后main()函数调用写函数把结果cnt,pjz1,pjz2,输出到out.dat文件中 二.in.dat文件内容 7704,9774,3213,5845,7703,2902,1925,2584,7429,6646 3

CSS3每日一练之内容处理-嵌套编号

出处:http://www.w3cfuns.com/thread-5592229-1-17.html 1.大标题一   1.子标题   2.子标题   3.子标题2.大标题二   1.子标题   2.子标题3.大标题三   1.子标题   2.子标题   3.子标题 这种问题,你可能会觉得直接定义两个计数器,分别编号不就行了,于是就写出了如下代码: <!DOCTYPE HTML> <html> <head> <meta charset="gb2312&q

每日一小练——按字典顺序列出所有排列

上得厅堂,下得厨房,写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:按字典顺序列出所有排列 内容:请写一个程序,用字典顺序列出n个元素的所有排列 这个问题有点小复杂,不是太好想,反正我是想了好久. 看到这个题目我先是想到的就是递归因为这个题目就是用指针对高位选择,然后将指针传给临近的低位再选择. 不过仔细研究原来没这么简单.以n=4举例当处理以1开头的排列时1234到1432,但是在排列2开头的时候不太好建立统一的递归关系.(没办法太统一的递归方法中将后面的数字选出来),所以将第一位分

每日一小练——按字典顺序列出全部排列

上得厅堂,下得厨房,写得代码,翻得围墙.欢迎来到睿不可挡的每日一小练! 题目:按字典顺序列出全部排列 内容:请写一个程序,用字典顺序列出n个元素的全部排列 这个问题有点小复杂,不是太好想.反正我是想了好久. 看到这个题目我先是想到的就是递归由于这个题目就是用指针对高位选择,然后将指针传给临近的低位再选择. 只是细致研究原来没这么简单. 以n=4举例当处理以1开头的排列时1234到1432,可是在排列2开头的时候不太好建立统一的递归关系. (没办法太统一的递归方法中将后面的数字选出来),所以将第一

每日一练

<meta name="viewport" content="width=device-width,initial-scale=1.0">修正网页在大部分移动设备上的显示 <meta name="keywords" content="关键字一,php,apache,mysql,linux"> <!--[if lt IE 9]> <script src="http://html

ACM每日一练(猴子吃桃问题)

描述 有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m<29) 输入 第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天): 输出 每一行数据是桃子的总个数 样例输入 2 3 11 样例输出 22 6142 普通解法 分析:  倒推  前一天的桃子总数 与后一天的桃子总数关系 递推公式是 a[m-1]=(a[m]+1)*2; 我们可以通过循环m

Python 每日一练(3)

引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一步就是生成这样的数字字母组合 完成第一步后,剩下的就和之前第一次练习给图片加文字一样的操作了 具体实现 生成随机验证码 def genUnit(): ascii_and_num=string.ascii_uppercase+string.digits Verification_Code=random