包的概念:和python一样,把相同功能的代码放到一个目录,称之为包.可以提高代码的可复用性、模块化结构.包可以被其他包引用.main包是用来生成可执行文件(应用程序),每个程序只有一个main包.所有的代码不能单独存在,都会属于一个包.相当于php的命名空间.调用规则:同一个包中函数,直接调用.不同包中函数,通过包名 + 点 + 函数名进行调用.包访问控制规则:大写:这个函数/变量是可导出的小写
原创
2023-10-14 16:09:22
121阅读
init的执行时机 导入包时前面加 _ 表示只执行包内的init函数 main包会编译成.exe 使用首字母大小写来说明包是否外部可见
原创
2022-12-08 15:14:00
71阅读
$GOPATH目录下的src源码目录一般是按照包来组织的,每一个包就是一个文件夹。目录名字是包内源文件的物理位置,目录名也是我们代码中import语句里的内容。源文件的开始有一个package关键字,用于指明该源文件的包名,一般情况下,我们需要让package的名字与目录名一致,但是并不是必须这样做,如果不这样做,那么import的时候需要用目录名,在源文件中使用import的模块时,需要用pac
原创
2022-11-11 11:53:47
65阅读
标准的Go语言代码库中包含了大量的包,并且在安装 Go 的时候多数会自动安装到系统中。我们可以在 $GOROOT/src/pkg 目录中查看这些包。下面简单介绍一些我们开发中常用的包。1) fmt fmt 包实现了格式化的标准输入输出,这与C语言中的 printf 和 scanf 类似。其中的 fmt.Printf() 和 fmt.Println() 是开发者使用最为频繁的函数。格式化短语派生于C
转载
2023-12-24 08:37:55
73阅读
包介绍包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。定义包我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。package 包名注意事项:一个文件夹下面只能有一个包,同样一个包的文件不能在多个文件夹下。包名
转载
2023-07-18 12:24:44
87阅读
目录os包详解1、Ch系列函数1.1 func Chdir(dir string) error1.2 func Chmod(name string, mode FileMode) error1.3 func Chown(name string, uid, gid int) error1.4 func Chtimes(name string, atime time.Time, mtime time
转载
2024-06-26 11:11:47
70阅读
Go语言的 os 包中提供了操作系统函数的接口,是一个比较重要的包。顾名思义,os 包的作用主要是在服务器上进行系统的基本操作,如文件操作、目录操作、执行命令、信号与中断、进程、系统状态等等。os 包中的常用函数1) Hostname 函数定义: func Hostname() (name string, err error)Hostname 函数会返回内核提供的主机名。2) Environ 函数
转载
2023-12-10 16:22:38
48阅读
在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定义包、如何导出包的内容及如何导入其他包。Go语言的包(package)包介绍包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。定义包我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文
转载
2023-07-26 16:21:22
79阅读
目录1、包介绍2、标准库3、程序执行顺序1、包介绍包是结构化代码的一种方式:每个程序都由包(通常简称为 pkg)的概念组成,可以使用自身的包或者从其他包中导入内容。如同其他一些编程语言中的类库或命名空间的概念,每个 go 文件都属于且仅属于一个包。一个包可以有许多以 .go 为扩展名的源文件组成,因此文件名和包名一般来说都是不相同的。必须在源文件中非注释的第一行指明这个文件属于哪个包,如:pack
转载
2024-01-12 11:07:17
65阅读
package mainimport ( "fmt") func adder() func(int) int { sum := 0 innerfunc := func(x int
原创
2023-06-01 17:23:57
45阅读
来一个小练习
转载
2020-11-16 15:20:00
252阅读
2评论
示例代码如下 func main(){ f := outter() fmt.Println(f()) // 1 fmt.Println(f()) // 2 fmt.Println(f()) // 3 } // 闭包 func outter() func() int { n1 := 0 f := fu
原创
2021-09-08 09:29:35
120阅读
Fmt包import "fmt"简介▾Package fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C但更简单一些。输出格式:一般:%v 基本格式的值。当输出结构体时,扩展标志(%+v)添加成员的名字。the value in a default format. when printing structs, the plus flag (%+v) adds field names%#v 值的Go语法表示。%T 值的类型的Go语法表示。%% 百分号。布尔型:%t 值的true或false整型:%b 二进制表示%c 数值对应的Uni
转载
2012-11-11 21:26:00
189阅读
2评论
// 时间戳转时间 time.Unix(1617279282,0).Format("2006-01-02 15:04:05") // 时间转时间戳 local, err := time.LoadLocation("Asia/Shanghai") //设置时区 if err != nil { retu
原创
2021-07-09 14:48:54
317阅读
规则包名是不能包含有小数点(.)的类似java的包名,在go中是不合法的package com.oracle; // go是不合法的 例子// src/mycom/eneity//. 用 _代替package mycom_entityimport "fmt"func init() { fmt.Printf("Employee init is called.")}func Empoyee()(name string,age int8,cname string) {
原创
2021-08-25 10:53:10
1827阅读
Gosched:让当前协程让出cpu以让其他协程运行,它不会挂起当前协程,因此当前协程未来会继续执行 NumCPU:返回当前系统的CPU核数量 GOMAXPROCS:设置最大的可同时使用的CPU核数 Goexit:退出当前goroutine(但是defer语句会照常执行) NumGoroutine:
原创
2022-07-22 14:34:08
58阅读
需求 对变量并发执行10000次相加 示例1:裸奔 package main import ( "fmt" "sync" ) var xx
原创
2022-08-21 00:19:22
56阅读
闭包的实现思路 package main import "fmt" //闭包的基本思路 func f2(x,y int){ fmt.Println("this is f2") sum:=x+y fmt.Println(sum) } func f3 ( ff func (int,int),m,n in
原创
2022-11-22 10:44:10
54阅读
包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。 我们还可以根据自己的需要创建自己的包。 ###定义包 一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归 ...
转载
2021-08-04 08:29:00
137阅读
2评论
go get gopkg.in/gin-gonic/gin.v1你看,已经精通了go语言包的获取了.
原创
2022-02-09 17:02:05
49阅读