【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 来了解更多。

相关推荐
geovindu7 分钟前
CSharp: Dijkstra Algorithms
开发语言·后端·算法·c#
XR12345678814 分钟前
食品饮料与制药行业GMP合规网络建设:无尘车间的网络不能成为污染源
开发语言·网络·php
学逆向的32 分钟前
汇编——位运算
开发语言·汇编·算法·网络安全
zhangjw3440 分钟前
第29篇:Java伪共享与对象分配:并发性能优化的关键
java·开发语言·性能优化
可编程芯片开发1 小时前
基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器
算法
学究天人1 小时前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷2)
算法·数学建模·动态规划·图论·抽象代数·拓扑学
Java面试题总结1 小时前
Python 开发技巧 · 高级装饰器 —— 从基础到工业级实战
开发语言·python
玛卡巴卡ldf2 小时前
【LeetCode 手撕算法】(细节知识点总结)
java·数据结构·算法·leetcode·力扣
wanzehongsheng2 小时前
零碳产业园光伏园区光伏电站追踪对比固定:发电增益技术边界分析
算法·光伏发电·光伏·零碳园区·太阳能追光·低碳环保·追踪电站
liulilittle2 小时前
Exhaustive drift-fix simulation V2 — KCC on shared-bottleneck wired path.
开发语言·网络·python·tcp/ip·计算机网络·信息与通信·通信