跟着开源项目学GO(3)

815 阅读3分钟

「这是我参与2022首次更文挑战的第15天,活动详情查看:2022首次更文挑战

生命不息,学习不止

题外话

今天是周六,学习爱我,我爱学习,看看是谁在这阳光明媚的一天还在不辞辛苦的耕耘着,是谁还在书海中遨游,没错就是我,贯彻爱与正义的化身,可爱又迷人的反派角色,穿梭在掘金网上的作者,白洞白色的明天,就是这样。

image.png

废话不多说,上货

在这里插入图片描述

开源项目——go-gin-api

go-gin-api

这是一个主要以gin框架为主,包含了一些常用功能,包括日志,菜单,权限,代码生成的功能的一个项目。

main.go

上回已经说完了相关的配置文件,今天就可以正式的看见代码了

首先必然是项目的入口文件main.go了,如下

image.png

别问我为什么下面都是波浪线,因为我手欠把项目删除了,这是新clone下来的,着急写嘛将就一下而已啦

package 是包,这个很简单就不多说了

import中包含了导入的相关包,包括了内置包(未飘红的)和第三方包(飘红的),怎么样,这下感谢我着飘红的线了吧

这里提一下import的作用域,import的作用域是单文件的,作用不了包中的其他文件

我们都知道import可以导入自定义包,但如果两个包相互导入,就会产生类似死锁的情况,这个时候可以使用import _ "name" 这种形式,这种形式会只导入包中的init方法,但却不使用包,并不显示的使用该包的其他内容,也不能够使用该包的其他函数。

import 还支持别名,import . "fmt",将fmt启用别名".",这样就可以直接使用其内容,而不用再添加fmt,如fmt.Println可以直接写成Println

  import( . "fmt" )
  fmt.Println(“hello world”)  
  //可以省略的写成
  Println(“hello world”)

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

fmt 包

这可能是go中最常见的包了(在我的认知中),fmt包含了go中常用格式化输出的相关函数,也就是我们经常使用的打印。

常用的方法有三种

func Print(a ...interface{}) (n int, err error)
func Printf(format string, a ...interface{}) (n int, err error)
func Println(a ...interface{}) (n int, err error)

这里就主要说一下第二种,Printf根据format参数生成格式化的字符串并写入标准输出,返回写入的字节数和遇到的任何错误。

format参数包含不同占位符,整数占位符,浮点数和复数的组成部分(实部和虚部)占位符,字符串占位符,字符切片占位符,指针占位符

image.png

这是官方文档的占位符部分,大家可以自己看一下,有许多占位符还是很好用的,像是输出最大字符宽度,就可以不用调用函数截取了,转换进制,安全转移等等。

下一篇就讲,敬请期待

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述