1-Go 快速上手

0. 安装与配置

  • 下载、安装开发包
    官网地址:https://golang.google.cn/dl/
    国内地址:https://studygolang.com/dl

  • For Linux
    1、添加路径到PATH 环境变量
    将安装路径如: /usr/local/go/bin 目录添加至 PATH 环境变量。在 ~/.bashrc 或者 ~/.bash_profile 中新增如下语句:
    export PATH=$PATH:/usr/local/go/bin
    2、生效环境变量
    在 shell 中执行

    source ~/.bashrc

    或者下面的

    source ~/.bash_profile

    3、检查环境变量配置

    go version

    输出
    go version go1.16.5 linux/amd64

    4、配置代理

    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct

  • 编辑器 or IDE
    推荐 VSCode(安装Go插件)、GoLand

1.Hello World

  • 输出 Hello World
    新建一个 Go 源文件:main.go
package main //每个 Go 程序都是由包构成的。程序从 main 包	开始运行。

import "fmt" // 导入 fmt 包

func main() { //main 函数,无参数
	fmt.Println("Hello World") //使用 fmt 包中的 Println 函数在标准	输出上打印 Hello World
}

直接运行:

go run main.go
输出:
Hello World

或者编译为可执行文件后运行

go build main.go
./main
Hello World

main 函数必须要写在 main 包中。

2.二分查找

binary_search.go

package main

import "fmt"

func main() {

	data := []int{1, 2, 3, 66, 100}
	fmt.Println(BinarySearch(data, 3))
	fmt.Println(BinarySearch(data, 10))
	fmt.Println(BinarySearch(data, 1))
}

func BinarySearch(data []int, target int) int {
	l, r := 0, len(data)
	for l < r {
		mid := l + (r-l)/2
		if target < data[mid] {
			r = mid
		} else if target > data[mid] {
			l = mid + 1
		} else if target == data[mid] {
			return mid
		}
	}
	return -1
}

运行案例:

go run binary_search.go

3.命令行程序

Go 的 main 函数与 C 语言或者其他的语言的有点区别,它是一个无参数的函数,如果我们想通过命令行传入参数该怎么做呢?Go 通过内置的 os 包可以获取命令参数。下面写一个回显命令行参数的程序。
echo_args.go

package main

import (
	"fmt"
	"os"
)

func main() {
	//命令行参数存放在 os.Args 中
	for i, cmd := range os.Args {
		fmt.Printf("args[%d]:%s\n", i, cmd)
	}
}

运行:

go run echo_args.go hello world 123

输出如下:
args[0]:/tmp/go-build1340540512/b001/exe/echo_args
args[1]:hello
args[2]:world
args[3]:123

4.Playground

有些时候要贴一段代码给别人看,直接贴在微信或QQ 里面,代码的格式变得很乱难以阅读,而且无法立即运行。借助在线的 Playground 便可以解决上述问题。
官方:https://play.golang.wiki/
国内:https://play.studygolang.com/

5. Go 交叉编译

有时候我们在 Windows下开发好的程序需要编译为 Linux 平台的格式来在 Linux 运行。在一个平台上生成另一个平台的可执行程序,这就叫交叉编译。需要关闭 CGO,因为 CGO 不可移植。
例1:在 Windows 编译生成 Linux 下的可执行程序。

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

例2:在 Linux下编译生成 Windows可执行程序

GOOS=windows GOARCH=amd64 go build main.go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值