Go 语言开发第一天,我的学习之路从这里开始

Go 语言入门

Step 1 安装程序

不用多么复杂的东西,只需要去官网下载对应的安装包,然后安装就ok

  1. 官网下载地址请点击右侧传送门?传送门

  2. 下载对应版本的 适合自己 机型的 安装包 我这边是mac,所以下载了这个下载Go语言的机型➕版本

  3. 直接安装就好,默认安装路径便在/user/local/go里面。所以下一步需要配置环境变量

  4. sudo vim /etc/profile 这里需要输入密码,密码是看不见的,输完直接回车就好了-> 密码是你的开机密码

  5. 回车后看见一个界面,在下方输入 一下三行代码就ok

# 记得在最下方输入,别输错了,记得复制就好了,
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
## 备注,这是指定工作空间的,比如我的代码会放在 `workspace/gocode` 下方
export GOPATH=$HOME/Desktop/workspace/gocode
## 输入完成后,按 esc 然后输入英文状态的 : (冒号) 然后输入: wq! 表示强制保存并退出
  1. 最后要生效 命令:在终端输入
# 让环境变量文件生效
source /etc/profile
  1. 补充: 若是你发现你的电脑在某个位置不生效,你就在执行第6步的命令就ok了,或者你注销,或者重启一下就ok了。
  2. 至于windows, 同样的方法,不过是知道安装包下的bin目录,然后右键我的电脑,然后点击属性,找到高级设置,找到环境变量,然后点击系统环境变量,他有上下俩层,你设置下面的那层,然后找到 path, 这里记得点击修改,不是其他的哦,别搞错了,然后在下方吧 安装路径 精确到bin目录 的路径设置进去就OK了,我windows好久没用了,所以差不多就这样。(见谅)

Step 2 下面就正式开始学习 Go 了 Let’s Go!

  1. 在你的电脑上运行 Hello World!

    1. 来一起

    2. 你可以自己选择编辑器,比如vscode啥的,我这边使用vscode

        // 开发一个程序 打印 Hello World !
        package main
        import "fmt"
        func main() {
        	fmt.Println("Hello World !")
        }
      
    3. 使用终端在该源文件下 go build helloWorld.go && ./helloWorld

    4. 若是要指定 打包文件名 go build -o helloWorld.go hello(这里是打包文件名) 会生成hello二进制文件,然后使用./hello 便可运行,在windows下,制定的是hello.exe 这里需要注意下,这个只能在命令行(cmd)下执行

    5. 这里就实现了 hello world

    6. 其中 首先是需要打包,我这里叫做main然后引入 fmt 这库,这库里有很多函数,比如 Println()

    7. 如果不引入,fmt.Println 就是 未定义(undefined)

  2. go 语言代码通过 组织,类似于其他语言的库(libraries)或者模块。

  3. 每个源文件都以一条 package 申明,如上方例子就是 package main 开始

  4. main 包就是类似于 c语言中的main函数一样,是一个程序的入口。Go语言中函数便是一等公民。

  5. import 必须跟在package后面, 必须使用双引号

  6. 一个函数由 func 关键字来定义

  7. 变量由 var 关键字来定义

  8. 常量由 const 关键字来定义

  9. 类型的申明语句由 type 关键字来定义

Step 3 命令行参数

  1. os 包以跨平台的方式,提供额一些与操作系统交互的函数和变量,程序的命令行参数可以os包的Args变量获取;os 包外部使用 os.Args访问该变量 (是不是有点看不懂的感觉,我其实这会儿也不太明白,一会儿懂了,再说明)
  2. os.Args 变量是一个字符串的切片,类似于slice,简易版的动态数组,使用 arr[i] 访问单个元素,使用 arr[m: n] 获取子序列,意思类似于这样 arr1 = arr[m] ~ arr[n-1] 这里所有的元素集合(左闭右开)
  3. 示例:
    •   // Echo 打印它的命令行参数
        package main
        import (
        	"fmt"
        	"os"
        )
        
        func main () {
        	var s, sep string
        	for i := 1; i < len(os.Args); i++ {
        		s += sep + os.Args[i]
        		sep = " "
        	}
        	fmt.Println(s)
        }
      
  4. var声明定义了两个string类型的变量s和sep。变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的零值,数值类型是0,字符串类型是空字符串""。这个例子里,声明把s和sep隐式地初始化成空字符串
  5. s += sep + os.Args[i] 等价于 s = s + sep + os.Args[i]
  6. 循环索引变量i在for循环的第一部分中定义。符号:=是短变量声明的一部分,这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句
  7. 注意 对于 i++ 他是语句,不是表达式所以,不能使用 a = i++ (❌)

版权声明:本文为god953原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。