zoukankan      html  css  js  c++  java
  • 【Go语言学习笔记】hello world

    书接上回,上回说到了为什么要学习Go语言,今天我们来实际写一下,感受一下Go语言的精美之处。

    环境搭建

    安装和设置

    Windows:

    1. Go安装包下载网址:https://golang.org/dl/
    2. 有zip压缩版和msi安装版两个按本下载。(这里使用msi安装版,比较方便)。
    3. 运行msi安装文件,千万不要在安装路径中出现中文,一路Next。
    4. 由于使用msi安装文件,Go语言的环境变量已经自动设置好了。

    打开Windows中的命令提示符(cmd.exe)执行命令:

    查看版本 go vresion

    查看环境 go env

    MacOs

    方法一:官网下载安装包,比较快

    方法二:brew install go

    添加环境变量

    //编辑~/.bash_profile文件
    
    vim ~/.bash_profile
    
    //在~/.bash_profile文件中添加:
    
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
    export PATH="/Users/teemo/go/bin:$PATH"
    
    //使配置生效
    localhost:~ zxy$ source ~/.bash_profile
    

    Linux

    wget $tar -xvf go1.16.1.linux-amd64.tar.gz

    设置环境变量

    $vim /etc/profile
    
    添加
    
    export GOROOT=/data/work/go
    export GOPATH=/data/work/gopath
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
     
    source /etc/profile
    
    go version
    

    标准命令概述

    Go语言中包含了大量用于处理Go语言代码的命令和工具。

    其中,go命令就是最常用的一个,它有许多子命令。

    这些子命令都拥有不同的功能,如下所示:

    • build:用于编译给定的代码包或Go语言源码文件及其依赖包。
    • clean:用于清除执行其他go命令后遗留的目录和文件。
    • doc:用于执行godoc命令以打印指定代码包。
    • env:用于打印Go语言环境信息。
    • fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。
    • fmt:用于执行gofmt命令以格式化给定代码包中的源码文件。
    • get:用于下载和安装给定代码包及其依赖包(提前安装git或hg)。
    • list:用于显示给定代码包的信息。
    • run:用于编译并运行给定的命令源码文件。
    • install:编译包文件并编译整个程序。
    • test:用于测试给定的代码包。
    • tool:用于运行Go语言的特殊工具。
    • version:用于显示当前安装的Go语言的版本信息。

    选择编辑器

    • 首选GoLand,破解问题自行百度或私信我,也可以氪金。
    • 其次VSCode。
    • 剩余编辑器首选vim,其他编辑器哪个顺手用哪个。

    Goland配置: https://blog.csdn.net/zxy_666/article/details/80182688

    主要是go mod中添加代理:GOPROXY=https://goproxy.io

    go mod就是包管理工具,加代理是为了下载海外包更快。

    hello world

    每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。包是Go语言里最基本的分发单位,也是工程管理中依赖关系的体现。包即目录。

    要生成Go可执行程序,必须建立一个名字为main的包,并且在该包中包含一个叫main()的函数(该函数是Go可执行程序的执行起点)。

    Go语言的main()函数不能带参数,也不能定义返回值。

    在包声明之后,是一系列的import语句,用于导入该程序所依赖的包。由于本示例程序用到了Println()函数,所以需要导入该函数所属的fmt包。

    // 定义包, 一个程序通常只有一个main包,作为程序的入口
    package main
    
    // 导入包,这里导入fmt包
    import "fmt"
    
    // 通过func关键字定义函数
    // 这里定义的是程序的入口函数main, 程序从这个函数开始执行
    func main() {
        // 调用fmt包的Println函数,打印一个字符串。
        fmt.Println("Hello, world")
    }
    

    可以看出,和C的风格真的很像很像。

    #include <stdio.h> 
    //导入包
    
    //主函数
    int main()
    { 
        //打印
        printf("Hello World"); 
        return 0;
    } 
    
    

    不同的是,GO的创始人就是喜欢换行的括号风格,如果你像C这样使用花括号,则会报语法错误。这也许就是程序员的浪漫吧。

    我们也可以试试命令编译执行该程序。

    go build main.go

    或者直接运行, 不编译生成可执行文件。
    go run main.go

  • 相关阅读:
    常用的ORM框架与自动化映射工具
    数据持久化
    char、nchar、varchar、nvarchar 的区别
    MS SqlServer还原数据库,出现媒体簇的结构不正确
    根据字段查询所有表名
    java中package指什么
    MybatisGenerator生成的mapper 少了识别主键的方法 byPrimaryKey()
    Sql Server触发器的使用
    WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。
    sqlserver记录去重
  • 原文地址:https://www.cnblogs.com/HappyTeemo/p/15222765.html
Copyright © 2011-2022 走看看