欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > Go语言基础语法(三)

Go语言基础语法(三)

2024/10/24 3:26:27 来源:https://blog.csdn.net/weixin_43215013/article/details/142878410  浏览:    关键词:Go语言基础语法(三)

Go语言基础语法详解

在这里插入图片描述

Go语言作为一门简洁高效的编程语言,以其独特的语法风格和并发支持成为开发者喜爱的语言之一。本文将带你逐步了解Go语言的基础语法,覆盖程序结构、变量与常量、数据类型以及运算符的使用,为深入学习Go语言奠定坚实的基础。

1. Go语言程序结构

一个Go语言程序的基础结构相对简单,通常由包声明、导入依赖包、函数组成。最基本的结构如下:

main 函数与包导入
package mainimport "fmt"  // 导入fmt包用于输入输出func main() {fmt.Println("Hello, Go!")
}
  • package main:每个Go程序的入口点必须是 package main,这告诉编译器这是一个可执行的程序。
  • import "fmt":导入Go的标准库fmt,用来格式化输入输出。导入的包名称必须是双引号包围的包名,标准库包含众多常用包。
  • func main():Go程序的主入口函数,main函数没有参数,程序从这里开始执行。

2. 数据类型

Go是一门静态类型的语言,意味着每个变量的类型在编译时必须是已知的。Go支持多种数据类型,主要分为基本类型和复合类型。

基本类型
  • 整数:包括有符号整数和无符号整数,分别有 intint8int16int32int64 及其对应的无符号版本 uintuint8 等。
  • 浮点数float32float64
  • 布尔值bool 类型,只有两个值 truefalse
  • 字符串string,表示Unicode字符序列。
var i int = 10
var f float64 = 3.14
var b bool = true
var s string = "Hello"
复合类型
  • 数组:定长、同质元素序列。

    var arr [5]int = [5]int{1, 2, 3, 4, 5}
    
  • 切片:动态大小、同质元素的序列,类似动态数组。

    var slice []int = []int{1, 2, 3}
    
  • 结构体:一组字段的集合,类似类但没有继承。

    type Person struct {Name stringAge  int
    }
    
  • 映射(map):键值对的无序集合。

    var m map[string]int = map[string]int{"one": 1, "two": 2}
    

3. 变量与常量

Go中的变量声明可以通过 var 关键字,也可以使用简洁的短变量声明。常量则使用 const 关键字。

var 声明变量

var 是 Go 中最常见的声明变量的方式,可以显式指定类型,也可以通过初始化推导类型。

var a int    // 声明一个整型变量
var b string // 声明一个字符串变量
a = 10
b = "Go语言"
短变量声明 :=

Go支持在函数内使用 := 进行变量的简洁声明,编译器会自动推断变量类型:

c := 20          // 声明并初始化整型变量
name := "Alice"  // 声明并初始化字符串变量

注意::= 只能在函数体内部使用,不能用于全局变量的声明。

常量 const

常量使用 const 关键字声明,常量的值在编译时确定,不可修改:

const Pi = 3.14
const Greeting = "Hello, Go!"

常量只能是布尔值、数字、字符串类型。

4. 基本运算符

Go语言提供了丰富的运算符,涵盖了常见的算术运算、逻辑运算以及关系运算。

算术运算符

Go支持常见的算术运算符,如加减乘除、取余等:

运算符描述
+加法
-减法
*乘法
/除法
%取余
x := 10
y := 3
fmt.Println(x + y)  // 输出: 13
fmt.Println(x - y)  // 输出: 7
fmt.Println(x * y)  // 输出: 30
fmt.Println(x / y)  // 输出: 3
fmt.Println(x % y)  // 输出: 1
逻辑运算符

逻辑运算符主要用于布尔值的组合:

运算符描述
&&逻辑与
||逻辑或
!逻辑非
a := true
b := false
fmt.Println(a && b)  // 输出: false
fmt.Println(a || b)  // 输出: true
fmt.Println(!a)      // 输出: false
关系运算符

用于比较两个值,返回布尔值:

运算符描述
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
x := 5
y := 10
fmt.Println(x == y)  // 输出: false
fmt.Println(x != y)  // 输出: true
fmt.Println(x > y)   // 输出: false
fmt.Println(x < y)   // 输出: true

扩展阅读:

  • Go语言官方网站
  • A Tour of Go - Go语言官方交互式教程
  • Effective Go - Go代码风格指南

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com