01-Go命令与基础

简介: 什么是Go?Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态的高效开之间拥有良好平衡点的一门编程语言。Go的主要特点有哪些?类型安全和内存安全以非常直观和极低代价的方案实现高并发高效的垃圾回收机制快速编译(同时解决C语言中)为多核计算...

什么是Go?

Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态的高效开之间拥有良好平衡点的一门编程语言。

Go的主要特点有哪些?

  • 类型安全和内存安全
  • 以非常直观和极低代价的方案实现高并发
  • 高效的垃圾回收机制
  • 快速编译(同时解决C语言中)
  • 为多核计算机提供性能提升的方案
  • UTF-8编码支持

Go存在的价值是什么?

Go在谷歌: 以软件工程为目的语言设计

Go环境变量

[chentiangang@Mac.local ~]$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"      #交叉编译的架构
GOHOSTOS="darwin"           #交叉编译的系统
GOOS="darwin"
GOPATH="/Users/chentiangang/go" #工作目录
GORACE=""
GOROOT="/usr/local/go"          #安装目录
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ht/mz9p76vd0mq673ysl1hm0p7h0000gp/T/go-build286554756=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

Go命令

go get  #获取远程包(需要提前安装git或hg)
go run  #直接运行程序
go build    #测试编译,检查是否有编译错误
go fmt  #格式化源码(部分IDE在保存时自动调用)
go install  #编译包文件并编译整个程序
go test #运行测试文件
godoc -http :8080   #查看文档

Go语言的Hello,world

package main

import (
    "fmt"
)

func main() {
    fmt.Printf("Hello, world.")
}

Go内置关键字(25个均为小写)

break       default     func        interface   select
case        defer       go      map     struct
chan        else            goto        package switch
const   fallthrough if      range   type
continue    for         import  return  var

Go注释方法

  • // 单行注释
  • /* */ 多行注释

Go程序的一般结构: basic_structure.go

  • Go程序是通过package来组织的(与python类似)
  • 只有package名称为main的包可以包含main函数
  • 一个可执行程序有且仅有一个main包
  • 通过import关键字来进行常量的定义
  • 通过在函数体外部使用var关键字来进行全局变量的声明与赋值
  • 通过type关键字来进行结构(struct)或接口(interface)的声明
  • 通过func关键字来进行函数的声明
// 当前程序的包名
package main

//导入其它的包
import "fmt"

// 常量的定义
const PI = 3.14

// 全局变量的声明与赋值
var name = "gopher"

// 一般类型声明
type newType int

// 结构的声明
type gopher struct{}

// 接口的声明
type golang interface{}

// 由 main函数作为程序入口点启动
func main() {
    Println("Hello world! 你好,世界!")
}

Go导入package的方式

img_5178dc09acaae77f16dcc43a784fd8c3.png

目录
相关文章
|
测试技术 Go 开发工具
100天精通Golang(基础入门篇)——第3天:Go语言的执行原理及常用命令、编码规范和常用工具
100天精通Golang(基础入门篇)——第3天:Go语言的执行原理及常用命令、编码规范和常用工具
234 1
|
2月前
|
Go
golang语言之go常用命令
这篇文章列出了常用的Go语言命令,如`go run`、`go install`、`go build`、`go help`、`go get`、`go mod`、`go test`、`go tool`、`go vet`、`go fmt`、`go doc`、`go version`和`go env`,以及它们的基本用法和功能。
42 6
|
4月前
|
Go
go 常用命令总结
go 常用命令总结
28 0
|
5月前
|
弹性计算 Java Serverless
Serverless 应用引擎操作报错合集之在执行环境 custom pre-deploy 时,命令 "go mod tidy" 失败了,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
413 0
|
6月前
|
存储 测试技术 Go
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
|
6月前
|
Java 编译器 Go
百度搜索:蓝易云【Go的执行原理以及Go的命令】
这些命令为Go开发者提供了便利的开发、编译、运行、测试和文档查阅等功能,使得Go语言在开发过程中更加高效和便捷。
61 1
|
6月前
|
测试技术 Go 开发者
掌握 go test 命令,写出可信赖的代码
掌握 go test 命令,写出可信赖的代码
154 0
|
6月前
|
Go 网络安全 开发工具
终极攻略!go get命令使用教程
终极攻略!go get命令使用教程
1917 0
|
6月前
|
Go 开发者
代码整洁利器:go fmt命令详解
代码整洁利器:go fmt命令详解
387 0
|
6月前
|
编译器 Go 开发者
go run 命令核心技术详解
go run 命令核心技术详解
537 0