加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang基础-day01

发布时间:2020-12-16 09:45:30 所属栏目:大数据 来源:网络整理
导读:下载安装 参考我这篇博客 链接博客用的golang官网的LiteIDE编辑器,可以了解下golang开发的配置环境,那么接下来的学习用了,VSCode编辑器,里面可以安装各种调试、格式化的插件,很方便 第一个go小程序 右键hello.go打开doc命令行(VSCode可以go get github

下载安装

参考我这篇博客
链接博客用的golang官网的LiteIDE编辑器,可以了解下golang开发的配置环境,那么接下来的学习用了,VSCode编辑器,里面可以安装各种调试、格式化的插件,很方便

第一个go小程序

右键hello.go打开doc命令行(VSCode可以go get github.com/derekparker/delve/cmd/dlv进行安装调试插件),我这里安装有问题,就暂时利用doc窗口来调试学习,输入go run hello.go即可看到运行结果,也可以执行E:golanggo_prosafly_srcday01hello.go绝对路径

以上就是一个简单的go小程序

生成可执行.exe文件

我们继续执行go build hello.go在doc窗口中,会生成一个可执行的.exe文件

结果如下图,生成一个hello.exe可执行文件,这是是在day01目录下生成的。

拷贝.exe文件

我们继续在项目中,创建一个bin文件夹,将go的可执行文件统一存放,上图已经创建好了,接下来我们执行go命令,将其拷贝到bin目录下即可

以上的截图是错误的,我们发现go默认有一个src,所以我们改下目录结构,修改后的目录结构如下:

以上截图是在day01下面创建了一个bin目录,然后拷贝了hello.exe到此文件夹


以上的截图是在项目的根目录下拷贝了hello.exe到bin文件夹内

多包管理

以上的demo仅仅是一个包,接下来我们了解下多包的管理
我们创建一个pck文件夹,然后创建一个简单的add.go,求2个数的和


在main.go文件中,如果使用add.go方法,需要导入pck模块下的”safly_src/pck”
然后直接pck.Add进行调用

最后在控制台进行输出即可

init函数

每个源文件都可以包含一个init函数,这个init函数自动被go运行框架调用。

我们看下如下代码示例:

package main

import("fmt")

var a int 
var str string 
/* 如下写法是错误的,在全局变量只能初始化,或者初始化并赋值 c:=0是一个执行语句了,需要在执行期间进行赋值,不能在编译期间进行赋值 */
// c:=0 
var c int
var d int 

func init(){
    fmt.Println("demo init")
    d = 10
}

func main(){
    fmt.Println("a=",a)
    a = 0
    fmt.Printf("a=%dn",a)

    fmt.Println("a=",str)
    str = "aaa"
    fmt.Println("a=",str)

    println("c=",c)
    c:=8
    fmt.Println("c=",c)

    //init中为d进行赋值操作
    println("d=",d)
}

输出如下:

demo init
a= 0
a=0
a=
a= aaa
c= 0
c= 8
d= 10

如下写法是错误的,在全局变量只能初始化,或者初始化并赋值
c:=0是一个执行语句了,需要在执行期间进行赋值,不能在编译期间进行赋值

多包引用init执行顺序

接下来我们多增加几个.go文件,进行互相调用看下运行结果
以下是test2.go声明了一个init函数


以下test1.go声明了一个init函数,然后引入了pck2包下的test2.go,还定义了2个变量,在头部 _ “pck2” 如果不使用test2.go里面的数据,需要前面加_
包的只初始化,不引用

看运行结果

pck2.go init
pck1.go init
demo init
d= 10
wyf
9

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读