【Golang基本语法】介绍

Golang基本语法

Golang(通常称为Go)是一种由Google开发的静态类型、编译型语言,它具有简洁、高效和易于维护等特点,Go的设计哲学旨在简化编程任务,并提供快速的编译时间和高效的执行性能。下面是一些Go语言的基本语法要点:

  1. 包声明:每个Go文件都以包声明开始,定义当前文件属于哪个包。

    go 复制代码
    package main
  2. 引入包 :使用import关键字导入依赖。

    go 复制代码
    import "fmt"
  3. 函数 :使用func关键字定义函数。

    go 复制代码
    func main() {
        fmt.Println("Hello, World!")
    }
  4. 变量 :使用var关键字定义变量,Go也支持类型推断。

    go 复制代码
    var name string = "John"
    age := 30  // 类型推断
  5. 常量 :使用const关键字定义常量。

    go 复制代码
    const Pi = 3.14
  6. 基本数据类型 :Go有基本的数据类型比如intfloat64boolstring等。

  7. 控制结构

    • If/else 条件语句:

      go 复制代码
      if condition1 {
          // 条件1为真时执行
      } else if condition2 {
          // 条件2为真时执行
      } else {
          // 条件1和条件2都不为真时执行
      }
    • For 循环:

      go 复制代码
      for initializer; condition; post {
          // 循环体
      }
      
      // 或者范围循环
      for key, value := range mymap {
          fmt.Println(key, value)
      }
    • Switch 语句:

      go 复制代码
      switch variable {
      case value1:
          // 当variable == value1时执行
      case value2:
          // 当variable == value2时执行
      default:
          // 其它情况时执行
      }
  8. 数组和切片

    • 数组定义

      go 复制代码
      var a [5]int // 定义一个包含5个整数的数组
    • 切片定义

      go 复制代码
      s := []int{1, 2, 3} // 定义一个整数切片
  9. 映射(字典):

    go 复制代码
    m := make(map[string]int)
    m["key"] = 42
  10. 结构体

    go 复制代码
    type Person struct {
        Name string
        Age  int
    }
    
    var p Person
    p.Name = "Alice"
    p.Age = 30
  11. 接口

    go 复制代码
    type Shape interface {
        Area() float64
    }
    
    type Circle struct {
        radius float64
    }
    
    func (c Circle) Area() float64 {
        return math.Pi * c.radius * c.radius
    }
  12. 并发

    • Goroutines

      go 复制代码
      go func() {
          fmt.Println("Running in a goroutine")
      }()
    • Channels

      go 复制代码
      ch := make(chan int)
      go func() {
          ch <- 123  // 将数值发送到channel
      }()
      val := <-ch  // 从channel接收数值

这只是Golang基本语法的一个快速概述,Go非常注重实践,推荐你通过编写实际的程序来进一步学习,你可以访问官方文档The Go Programming Language或使用在线资源例如 Go by Example 来了解更多。

相关推荐
微学AI26 分钟前
内网穿透的应用-把飞牛NAS变成家庭录像中心:EasyNVR部署与远程回放实战
开发语言·php
峥嵘life32 分钟前
Android WiFi连接过程 wpa_supplicant 日志分析
android·开发语言·php
BerryS3N37 分钟前
深度解析:从零构建生产级大模型 RAG(检索增强生成)系统全栈指南
开发语言·python·ai
闪电悠米44 分钟前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
栋***t1 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
wabs6661 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论
今儿敲了吗1 小时前
Python——函数基础
开发语言·笔记·python
CHANG_THE_WORLD1 小时前
深入理解递归:从函数调用到调用栈的完整执行过程
java·开发语言·算法
kels88991 小时前
单连接动态增减订阅:股票行情API后端降负载实战方案
开发语言·笔记·python·信息可视化·金融
microrain1 小时前
从硬编码到热插拔:SagooIoT插件架构如何打破物联网平台的扩展瓶颈
物联网·golang·开源·sagooiot