Go 语言入门指南:基础语法和常用特性解析
GO语言,是语法简洁、性能高效和并发支持强大的编程语言。
1.环境搭建
使用Go语言,要先在搭建好基础的环境,可以直接从官网上下载GO语言,下载网址) 进入后,可以下载这个,这个是安装包,直接安装可以帮你设置环境变量。
之后就是在Vscode安装插件了。
2.基础语法
包管理
Go语言使用package关键字来声明包。每个Go文件的第一行通常是package声明。
package main
导入包
使用import关键字来导入其他包。
import "fmt"
Go语言中的主函数main()是程序的入口点。
func main() {
fmt.Println("Hello, World!")
}
变量声明
GO语言是一门强类型语言,使用var关键字声明变量,可以指定类型,也可以让编译器自动推断类型。如果有需要也可以使用:=进行声明
var a = "initial"
var b, c int = 1, 2
var d = true
var e float64
f := float32(e)
:=进行声明
g := a + "foo"
常量声明
const s string = "constant"
const h = 500000000
const i = 3e20 / h
控制结构
与python语言不同的是 if条件语句后面必须接大括号,而不是冒号,同时,执行的命令不能写在同一行。
条件语句
if 7%2 == 0 {
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}
循环语句
在GoLang里面,没有其它的循环,只有for循环,以下是循环的各种方式:
1.没写条件就是死循环,不过又立即break中断了循环。
2.添加了条件就是和C++的格式差不多
3.使用了continue跳过本次循环。
4.条件控制 :只写了循环条件,但是在循环里控制了i的变量
for {
fmt.Println("loop")
break
}
for j := 7; j < 9; j++ {
fmt.Println(j)
}
for n := 0; n < 5; n++ {
if n%2 == 0 {
continue
}
fmt.Println(n)
}
i := 1
for i <= 3 {
fmt.Println(i)
i = i + 1
}
switch语句
与C和C++类似, 不过不同的是,Go的代码在执行case语句后,会直接跳出swich
语句
a := 2
switch a {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
case 4, 5:
fmt.Println("four or five")
default:
fmt.Println("other")
}
数组
在业务中,数组的代码使用比较少,更多的是切片。
var a [5]int
a[4] = 100
fmt.Println("get:", a[2])
fmt.Println("len:", len(a))
b := [5]int{1, 2, 3, 4, 5}
fmt.Println(b)
var twoD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ", twoD)
切片
切片可以理解成可变长度的数组
func main() {
//定义切片
s := make([]string, 3)
s[0] = "a"
s[1] = "b"
s[2] = "c"
fmt.Println("get:", s[2]) // c
fmt.Println("len:", len(s)) // 3
s = append(s, "d")
s = append(s, "e", "f")
fmt.Println(s) // [a b c d e f]
c := make([]string, len(s))
copy(c, s)
fmt.Println(c) // [a b c d e f]
fmt.Println(s[2:5]) // [c d e]
fmt.Println(s[:5]) // [a b c d e]
fmt.Println(s[2:]) // [c d e f]
good := []string{"g", "o", "o", "d"}
fmt.Println(good) // [g o o d]
}
学习总结:
今天先学到这里吧, 虽然很多内容有基础,但毕竟还是觉得一下子吃的太多不是很好,要更多在实践中巩固和练习才能够打下更好的基础。