GO的基础知识扫盲注意事项

 更新时间:2022年12月19日 14:43:17   作者:astarblog  
这篇文章主要介绍了GO的基础知识注意事项,本文是GO语言小白的扫盲文,主要讲解了go语言的基本知识,GO程序目录结构,GO程序包的导入与别名运用,GO内置关键字,GO注释方法需要的朋友可以参考下

一.GO程序目录结构

在GOPATH目录下的结构

--bin(存放编译后生成的可执行文)
|----hello.exe(可执行文件)
--pkg(存放编译后生成的包文)
|-----(后面用到了在说)
--src(存放项目源)
|----hello(项目目录)
|------main.go(入口文件,下面会详解)
|----...(多个目录和上面hello的形式一样)
|-------...

二.GO程序的一般结构

在进行介绍前我先来回顾下之前的main.go文件结构

package main
import (
    "fmt"
)
func main() {
    fmt.Println("Hello World")
}

Go程序是通过package来组织的,和python类似,只有package名称为main的包可以包含main函数,一个可执行的程序有且仅有一个main包

通过import关键字来导入其他非main包

通过const关键字来定义常量

通过var关键字来进行全局变量的声明与赋值

通过type键字来进行结构(struct)或接口(interface)的声明

通过func关键字来进行函数的声明

三.GO程序包的导入与别名运用

包的导入

单独引入各种包

import "fmt"
import "io"
import "time"
import "strings"

统一引入,省去多个import关键字

import(
    "fmt"
    "io"
    "time"
    "strings"
)

如果导入的包如果没有调用,在编译的时候会报编译错误,这个是很关键的,所以在编译报错的时候可以检查一下是否有导入的包未调用

包的别名与运用

在实际工作中为了简写或者统一命名等一些特殊情况下

import(
    print "fmt"
)

上面就是将fmt替换成print,没替换前是:

fmt.Println("Hello World")

替换后是:

print.Println("Hello World")

包的别名还有一个省略调用的,非常不建意那么用,所以就不介绍了

四.可见性规格(非常重要)

在GO语言中使用大小写确定该 常量、变量、类型、接口、结构或函数 是否可以被外部包所调用

函数名首字母小写为private,表示私有,不可以被外部调用

函数名首字母大写为public,表示公有,可以被外部调用

1. 首字母小写函数例:(不可被名部调用)

func getDate(){
    return ...
}

2. 首字母大写函数例:(可被外部调用)

func GetDate(){
    return ...
}

五. GO内置关键字

常用一共25个,全部小写

break
default
func
interface
select
case
defer
go
map
struct
chan
else
goto
package
switch
const
fallthrough
if
range
type
continue
for
import
return
var

六. GO注释方法

//  : 表示单行注释
/* */   : 表示多行注释

本文主要是GO语言的基础知识扫盲文,主要讲解了GO程序目录结构,GO程序包的导入与别名运用,GO内置关键字,GO注释方法等相关知识,更多GO语言基础知识请查看下面的相关链接

相关文章

  • Golang中漏洞数据库的使用详解

    Golang中漏洞数据库的使用详解

    govulncheck是Golang中的漏洞扫描工具,它强大功能的背后,离不开 Go 漏洞数据库(Go vulnerability database)的支持,所以本文就来为大家详细讲解下 Go 漏洞数据库相关的知识
    2023-09-09
  • 详解用Go语言实现工厂模式(Golang经典编程案例)

    详解用Go语言实现工厂模式(Golang经典编程案例)

    这篇文章主要介绍了详解用Go语言实现工厂模式(Golang经典编程案例),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Go语言大揭秘:适用于哪些类型的项目开发?

    Go语言大揭秘:适用于哪些类型的项目开发?

    想知道Go编程语言适合开发哪些类型的项目吗?无论是网络服务、分布式系统还是嵌入式设备,Go都能轻松应对,本文将带你了解Go在各种场景下的应用,让你更好地选择和使用Go进行开发,需要的朋友可以参考下
    2024-01-01
  • Golang 文件操作:删除指定的文件方式

    Golang 文件操作:删除指定的文件方式

    这篇文章主要介绍了Golang 文件操作:删除指定的文件方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • go-zero源码阅读之布隆过滤器实现代码

    go-zero源码阅读之布隆过滤器实现代码

    布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难,这篇文章主要介绍了go-zero源码阅读-布隆过滤器,需要的朋友可以参考下
    2023-02-02
  • 深入了解Golang中的Slice底层实现

    深入了解Golang中的Slice底层实现

    本文主要为大家详细介绍了Golang中slice的底层实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-02-02
  • go micro微服务框架项目搭建方法

    go micro微服务框架项目搭建方法

    这篇文章主要为大家介绍了go micro微服务框架项目搭建方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Golang超全面讲解并发

    Golang超全面讲解并发

    goroutine 不是os线程、不是绿色线程(由语言运行时管理的线程),是协程。协程是一种非抢占式的简单并发子goroutine(函数、闭包或方法),也就是说,它们不能被中断。取而代之的是,协程有多个点,允许暂停或重新进入 —Go语言并发之道
    2022-06-06
  • Golang中Json的序列化和反序列化的使用

    Golang中Json的序列化和反序列化的使用

    本文主要介绍了Golang中Json的序列化和反序列化的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Goland配置leetcode的实现示例

    Goland配置leetcode的实现示例

    本文主要介绍了Goland配置leetcode的实现示例,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06

最新评论