当前位置: 首页 > article >正文

php转职golang第二期

以下是一份简单的 Go 基本语法笔记:

变量与常量:

• var 声明变量。

• const 声明常量。

数据类型:

• 整型、浮点型、布尔型、字符串型等。

流程控制:

• if-else 语句。

• for 循环。

函数:

• 定义和调用函数。

数组与切片:

• 数组的定义和使用。

• 切片的创建、操作和扩容。

指针:

• 理解指针的概念和使用。

结构体:

• 定义结构体和结构体方法。

接口:

• 接口的定义和实现。

这只是一个基础的概述,Go 语言还有很多其他重要的特性和语法需要进一步学习。你可以根据具体需求深入研究和实践。


在骨架子上增加血肉

变量与常量:

• var 声明变量。

package main
import (
    "fmt"
)

func main() {
    var a100 int
    a100 = 10
    b100 := "KK"
    fmt.Print(a100)
    fmt.Print(b100)
}

区分:Printf,Print,Println
在这里插入图片描述

• const 声明常量。

package main

import (
    "fmt"
)

const pi = 3.14159
const maxValue = 100

func main() {
    fmt.Println(pi)
    fmt.Print(maxValue)
}

数据类型:

• 整型、浮点型、布尔型、字符串型等。
在这里插入图片描述

流程控制:

• if-else 语句。

package main

import "fmt"

const maxValue = 100

func main() {
    if maxValue > 10 {
        fmt.Print("yes")
    } else {
        fmt.Print("no")
    }
}

• for 循环。

package main

import "fmt"

func main() {
    for i := 0; i < 100; i++ {
        fmt.Println(i)
    }
}

函数:

• 定义和调用函数。

package main


import "fmt"


func compare(a, b int) int {
    if a > b {
        return a
    }
    return b
}


func main() {
    result := compare(5, 10)
    fmt.Println("较大的值是:", result)
}

数组与切片:

• 数组的定义和使用。

package main

import "fmt"

func main() {
    // 定义一个包含 5 个整数的数组
    var arr1 [5]int
    arr1[0] = 10
    for i := 0; i < len(arr1); i++ {
        fmt.Printf("arr1[%d] = %d\n", i, arr1[i])
    }


    // 定义并初始化一个包含 3 个字符串的数组
    arr2 := [3]string{"apple", "banana", "cherry"}
    fmt.Println(arr2[1])
}

• 切片的创建、操作和扩容。

package main

import "fmt"

func main() {
    // 从数组中创建切片
    arr := [5]int{1, 2, 3, 4, 5}
    slice1 := arr[1:3]

    slice1 = append(slice1, 6)
    slice1[0] = 10
    fmt.Println(slice1)

    // 直接创建切片
    slice2 := make([]int, 3, 5) // 使用 make() 函数创建切片,指定长度和容量
    for i := 0; i < 10; i++ {
        slice2 = append(slice2, i)
    }

    fmt.Println(slice2)
}

指针:

• 理解指针的概念和使用。

package main

import "fmt"

func main() {
    var num int = 10
    ptr := &num // 地址
    fmt.Println("指针的值:", *ptr)
}

指针传递

package main

import "fmt"

func modifyValue(ptr *int) {
    *ptr = 20
}

func main() {
    var num int = 10
    modifyValue(&num)
    fmt.Println("修改后的值:", num)
}

结构体:

• 定义结构体和结构体方法。

package main

import "fmt"

type Person struct {
    Name string
    Age  int
}

func main() {
    p1 := Person{
        Name: "张三",
        Age:  25,
    }

    fmt.Println(p1.Name)
    fmt.Println(p1.Age)
}

接口:

• 接口的定义和实现。

package main

import "fmt"

// 定义一个接口
type Shape interface {
    Area() float64
}

// 定义一个矩形结构体
type Rectangle struct {
    Width  float64
    Height float64
}

// 实现接口方法
func (r Rectangle) Area() float64 {
    return r.Width * r.Height
}

func main() {
    // 创建矩形实例
    rect := Rectangle{Width: 5, Height: 3}
    // 多态调用
    var shape Shape = rect
    fmt.Println(shape.Area())
}

这只是一个基础的概述,Go 语言还有很多其他重要的特性和语法需要进一步学习。你可以根据具体需求深入研究和实践。
请大家期待php转职golang第三期


http://www.kler.cn/news/302154.html

相关文章:

  • 9.13学习记录
  • 分布式本地缓存 ehcache 缓存同步复制
  • Javaweb项目实现文件导出功能
  • 服务器数据恢复—Linux操作系统环境下网站数据的恢复案例
  • Java、python、php、node.js版 铁路售票自动选座系统 高铁购票系统 火车订票平台(源码、调试、LW、开题、PPT)
  • Android Graphics 显示系统 - VirtualDisplay的初印象 - 简单示例
  • .Net 中各种线程同步锁
  • Gitea Action 简单配置(CI/CD)
  • java 学习从零到精通之历程
  • C4D2025来了!亮眼的新功能一览
  • 高亚科技与广东海悟携手,打造全流程电子竞标管理平台!
  • 《程序猿之设计模式实战 · 策略模式》
  • 深度解读MySQL意向锁的工作原理机制与应用场景
  • 使用Selenium与WebDriver实现跨浏览器自动化数据抓取
  • 信息安全工程师(1)计算机网络分类
  • Linux Makefile文本处理函数知识详解
  • 【Http 每天一小问 ,Post上传文件时, 文件和 -d(--data)和 -F(--form) 不能同时存在 ,怎么办】
  • Linux系统安装CUDA
  • JSON对象
  • JSDelivr NPM CDN 国内加速节点
  • java设计模式(持续更新中)
  • 英伟达与甲骨文携手加速企业级AI和数据处理
  • 搭建一个本地 SMTP 服务器
  • [苍穹外卖]-05Redis快速入门
  • 【算法】冒泡排序
  • CSP-J 算法基础 二分查找与二分答案
  • 【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据并通过随机森林和多层感知两种模型进行简单的预测
  • VulnHub DC-1-DC-7靶机WP
  • 计算机网络期末试题及答案
  • Java学习路线