• [Golang自学] Golang环境搭建


    一、Golang开发环境搭建

    1.安装golang编译器

    下载地址:https://golang.google.cn/doc/install?download=go1.16.3.windows-amd64.msi

    2.创建工程目录

    (主要用于手动编译,使用IDE的话可以由IDE统一管理项目)

    1)创建一个目录作为所有golang项目的根目录

    D:golang_workspace

     该目录对应环境变量GOPATH。

    2)在工程目录中创建bin、pkg、src三个子目录

    D:golang_workspacein
    D:golang_workspacepkg
    D:golang_workspacesrc

    bin目录用于存放golang编译输出的exe可执行文件,对应设置环境变量GOBIN。

    pkg目录用于存放golang生成的包(供其他程序导入使用)。

    src用于存放各golang工程的源代码

    3.设置环境变量

    1)将golang编译器加入环境变量

     2)设置GOBIN、GOPATH、GOROOT环境变量

    4.新建项目

    1)在GOPATH下的src中添加项目目录,例如new_program

    2)在项目目录中新建一个app.go文件

    3)编写如下代码:

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

    二、使用命令行编译

    1.go run命令行运行

    D:golang_workspacesrc
    ew_program>go run app.go
    Hello World!!

    2.go build生成exe可执行文件

    D:golang_workspacesrc
    ew_program>go build app.go
    
    D:golang_workspacesrc
    ew_program>app.exe
    Hello World!!

    使用go build可以生成exe可执行文件。

    3.go install在GOBIN下生成exe文件

    当代码为如下:

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

      即package为main,且拥有main主函数时,go install 会编译为exe可执行文件。

    1)运行go mod init

    D:golang_workspacesrc
    ew_program>go mod init
    go: creating new go.mod: module new_program
    go: to add module requirements and sums:
            go mod tidy

    2)运行go install在bin目录下生成exe文件

    D:golang_workspacesrc
    ew_program>go install

    3)查看生成的exe文件

    D:golang_workspacein>dir
     驱动器 D 中的卷是 新加卷
     卷的序列号是 446F-2235
    
     D:golang_workspacein 的目录
    
    2021/04/13  23:43    <DIR>          .
    2021/04/13  23:43    <DIR>          ..
    2021/04/13  23:43         2,095,616 new_program.exe
                   1 个文件      2,095,616 字节
                   2 个目录 30,576,226,304 可用字节

     可在GOBIN目录下看到生成的new_program.exe可执行文件(前提是设置了GOBIN环境变量)。

    4.go install在pkg目录下生成包

    当代码为如下:

    package new_program
    
    import "fmt"
    
    func Show(){
    	fmt.Println("Hello World!!")
    }
    

     即package不为main时,则编译器会将该代码编译为静态库(.a包文件)。

    以下使用cmd命令行生成包文件,如果在goland IDE中,则在terminal中执行以下命令即可。

    1)运行go mod init

    D:golang_workspacesrc
    ew_program>go mod init
    go: creating new go.mod: module new_program
    go: to add module requirements and sums:
            go mod tidy

    2)运行go install在pkg目录下生成包

    D:golang_workspacesrc
    ew_program>go install

    3)查看生成的包

    D:golang_workspacepkgwindows_amd64 的目录
    
    2021/04/13  23:10    <DIR>          .
    2021/04/13  23:10    <DIR>          ..
    2021/04/13  23:19             9,010 new_program.a

    可以看到,编译器在pkg目录下生成了windows_amd64的目录,其中保存了生成的new_program.a静态库文件。

    三、(坑)golang生成的exe程序运行时拒绝访问

    例如,使用Goland IDE在运行时出现以下错误:

    或者使用cmd运行exe程序,闪退(可以隐约看到“拒绝访问”)。

    原因:开启了杀毒软件,例如360安全卫士。

    = =!!

    保持学习,否则迟早要被淘汰*(^ 。 ^ )***
  • 相关阅读:
    BlockUI常见问题
    AssemblyInfo文件
    asp.net 如何让虚拟目录里面的webconfig不继承主目录config(转)
    jquery Ajax示例
    jQuery Ajax 实例 全解析 (转)
    如何在ASP.NET服务器控件库中嵌入JavaScript脚本文件(转)
    如何使用ASP.NET2.0的“嵌入的资源”(转)
    BlockUI对话框
    Jquery ajax参数设置
    What's production quality
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/14651078.html
Copyright © 2020-2023  润新知