Go 语言入门指南:基础语法和常用特性解析(上) | 豆包MarsCode AI刷题

61 阅读3分钟

Go 语言入门指南:基础语法和常用特性解析

GO语言,是语法简洁、性能高效和并发支持强大的编程语言。

1.环境搭建

使用Go语言,要先在搭建好基础的环境,可以直接从官网上下载GO语言,下载网址) 进入后,可以下载这个,这个是安装包,直接安装可以帮你设置环境变量。

image.png

之后就是在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]
}

学习总结:

今天先学到这里吧, 虽然很多内容有基础,但毕竟还是觉得一下子吃的太多不是很好,要更多在实践中巩固和练习才能够打下更好的基础。