简单好记的关键词和语法;更高的效率;生态强大;语法检查严格,安全性高;严格的依赖管理, go mod 命令;强大的编译检查、严格的编码规范和完整的软件生命周期工具;跨平台交叉编程,多平台编译;异步编程复杂性低,易维护,Go语言中Channel设计,异步程序写起来非常自然;语言层面支持并发,go关键字(协程)使得go的并发效率极高;严格的语法规范;Go的并发、性能、安全性、易于部署等特性,使它容易成为"云原生语言"。
// 定义一个变量name,类型为string,然后通过fmt.Scanln()函数从控制台读取用户输入的姓名,并将其赋值给name变量。
// 最后通过fmt.Println()函数输出欢迎语,其中包含用户输入的姓名。
package main
import "fmt"
func main() {
var name string
fmt.Println("Please enter your name:")
fmt.Scanln(&name)
fmt.Println("Hello, " + name + "!")
}
2、打包
将写好的程序进行发布,需要进行build操作。
golang可以打包成各个平台的可执行程序
复制代码
// 打包 windows 执行程序
set GOOS=windows
set GOARCH=amd64
go build -o bin/app.exe main.go
// 打包 Linux 执行程序
set GOOS=linux
set GOARCH=amd64
go build -o bin/app main.go
// 打包 mac 执行文件
set GOOS=darwin
set GOARCH=amd64
go build -o bin/app_mac main.go
3、数据类型
go的数据类型分为以下几种:
数值类型:整型 和 浮点型
布尔类型:bool ,值为 true 和 false
字符类型:byte (底层uint8)和 rune (int32)
字符串类型:string
其他类型:数组、指针、结构体、Channel、函数、切片、any、map
类型别名
复制代码
// 类型别名,给类型定义一个名称
type my_int int
// 这里是给int定义一个别名,为my_int
package main
import (
"fmt"
)
func main() {
// 单变量赋值
var a int = 1
// 多变量赋值
var b, c int = 2, 3
// 多变量定义并赋值
var (
d int = 4
e int = 5
f string = "world"
)
// 简化赋值
g := "hello"
// 打印变量值
fmt.Println(a, b, c, d, e, f, g)
}