码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Golang基本语法】介绍


    Golang基本语法

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

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

      package main
      
      • 1
    2. 引入包:使用import关键字导入依赖。

      import "fmt"
      
      • 1
    3. 函数:使用func关键字定义函数。

      func main() {
          fmt.Println("Hello, World!")
      }
      
      • 1
      • 2
      • 3
    4. 变量:使用var关键字定义变量,Go也支持类型推断。

      var name string = "John"
      age := 30  // 类型推断
      
      • 1
      • 2
    5. 常量:使用const关键字定义常量。

      const Pi = 3.14
      
      • 1
    6. 基本数据类型:Go有基本的数据类型比如int、float64、bool和string等。

    7. 控制结构:

      • If/else 条件语句:
        if condition1 {
            // 条件1为真时执行
        } else if condition2 {
            // 条件2为真时执行
        } else {
            // 条件1和条件2都不为真时执行
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
      • For 循环:
        for initializer; condition; post {
            // 循环体
        }
        
        // 或者范围循环
        for key, value := range mymap {
            fmt.Println(key, value)
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
      • Switch 语句:
        switch variable {
        case value1:
            // 当variable == value1时执行
        case value2:
            // 当variable == value2时执行
        default:
            // 其它情况时执行
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
    8. 数组和切片:

      • 数组定义:
        var a [5]int // 定义一个包含5个整数的数组
        
        • 1
      • 切片定义:
        s := []int{1, 2, 3} // 定义一个整数切片
        
        • 1
    9. 映射(字典):

      m := make(map[string]int)
      m["key"] = 42
      
      • 1
      • 2
    10. 结构体:

      type Person struct {
          Name string
          Age  int
      }
      
      var p Person
      p.Name = "Alice"
      p.Age = 30
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    11. 接口:

      type Shape interface {
          Area() float64
      }
      
      type Circle struct {
          radius float64
      }
      
      func (c Circle) Area() float64 {
          return math.Pi * c.radius * c.radius
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    12. 并发:

      • Goroutines:
        go func() {
            fmt.Println("Running in a goroutine")
        }()
        
        • 1
        • 2
        • 3
      • Channels:
        ch := make(chan int)
        go func() {
            ch <- 123  // 将数值发送到channel
        }()
        val := <-ch  // 从channel接收数值
        
        • 1
        • 2
        • 3
        • 4
        • 5

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

  • 相关阅读:
    微信公众号支付(JSAPI)
    【记录】数据透视表
    【华为OD机试真题 JS】字符串变换最小字符串
    应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。
    JavaScript使用对象
    C#WPF数字大屏项目实战09--机器产量统计
    使用 Docker 部署 TailChat 开源即时通讯平台
    智慧城市新篇章:数字孪生的力量与未来
    详解win11系统的硬件最低配置要求
    APISIX、APISIX Dashboard搭建及插件使用
  • 原文地址:https://blog.csdn.net/cz88888888666/article/details/136459120
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号