Go语言基础(七)—— Go语言for循环语句、Go字符串、Go语言函数

《Go语言基础入门》 第一章: 开始第五章: 数组与切片第六章: 映射与结构体第七章: 方法与接口第八章: 并发编程第十章: 错误处理。 阅读详情

for循环

Go语言的For循环有3种形式,只有其中的一种使用分号,和C语言种的for一样:

for init; condition; post { }

和C语言种while一样:

for condition { }

说明:

  1. init: 一般为赋值表达式,给控制变量赋初值;
  2. condition: 关系表达式或逻辑表达式,循环控制条件;
  3. post: 一般为赋值表达式,给控制变量增量或减量。

for 语句执行过程如下:
①先对表达式 1 赋初值;
②判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内
语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,
不满足条件,就终止 for 循环,执行循环体外语句。
for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:

for key, value := range oldMap {
newMap[key] = value
}

For循环的嵌套:

for [condition | ( init; condition; increment ) | Range]
{
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}
statement(s);
}

循环控制语句

循环控制语句可以控制循环体内语句的执行过程。GO 语言支持以下几种循环控制语句:

  • break语句:经常用于终端当前for循环或跳出switch语句
  • continue语句:跳过当前循环的剩余语句,然后继续进行下一轮循环。
  • goto语句 :将控制转移到被标记的语句

break语句:跳出循环

Go 语言中 break 语句用于以下两方面:
1. 用于循环语句中跳出循环,并开始执行循环之后的语句。

2. break 在 switch(开关语句)中在执行一条 case 后跳出语句的作用。
continue语句

Go 语言的 continue 语句 有点像 break 语句。但是 continue 不是跳出循环,而是跳过当前循环执行下一次循环语句。for 循环中,执行 continue 语句会触发 for 增量语句的执行。
goto

Go 语言的 goto 语句可以无条件地转移到过程中指定的行。goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
无限循环

如果循环中条件语句永远不为 false 则会进行无限循环,我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环:

package main
import "fmt"
func main() {
    for true {
    fmt.Printf("这是无限循环。\n");
}
}

 

Go字符串

在 Go 编程中广泛使用的字符串是只读字节。在 Go 编程语言中,字符串是切片。Go 平台提供了各种库来操作字符串。

  • unicode
  • 正则表达式
  • 字符串

创建字符串

var greeting = "Hello world!"

每当遇到代码中的字符串时,编译器将创建一个字符串对象,其值为“Hello world!”。字符串文字持有有效的 UTF-8 序列称为符文。字符串可保存任意字节。注意:字符串文字是不可变的,因此一旦创建后,字符串文字就不能更改了。

字符串长度

len(str)方法返回包含在字符串文字中的字节数。请参考以下代码示例 

package main
import "fmt"
func main() {
    var greeting = "Hello world!"
    fmt.Printf("String Length is: ")
    fmt.Println(len(greeting))
}

上面代码执行后,将产生以下结果:

String Length is : 12

连接字符串

strings 包包含一个用于连接多个字符串的 join()方法,其语法如下:strings.Join(sample, " ")Join 连接数组的元素以创建单个字符串。第二个参数是分隔符,放置在数组的元素之间。

案例:

package main

import (
	"strings"
	"fmt"
)

func main() {

	var a  []string = []string{"hello","world"}

	fmt.Println(strings.Join(a,"2"))

}

结果为:

hello2world

字符串输出格式化

Go 语言为 printf 传统中的字符串格式化提供了极好的支持。 以下是常见字符串 格式化任务的一些示例。 Go 提供了几种打印“动词”,设计用于格式化一般的值。 例如,打印 point 结构的 一个实例。 如果值是一个结构体,%+v 变体将包括结构体的字段名。 %#v 变体打印值的 Go 语法表示,即将生成该值的源代码片段。 要打印值的类型,请使用%T。格式化布尔是比较直截了当的。有许多格式化整数的 选项。对于标准的 base-10 格式化,请使用%d。

Go语言函数

函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 函数声明告诉了编译器函数的名称,返回类型,和参数。 Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。 

函数定义

Go语言函数定义格式如下:

func function_name( [parameter list] ) [return_types] {   
 函数体 
} 

函数定义解析:

• func:函数由 func 开始声明 
• function_name:函数名称,函数名和参数列表一起构成了函数签名。 
• parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参
数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选 的,也就是说函数也可以不包含参数。 
• return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。有些功能 不需要返回值,这种情况下 return_types 不是必须的。 
• 函数体:函数定义的代码集合。

当有多个相同类型的连续参数时,可以省略类型参数的类型名称,直到声明该类型 的最后一个参数。例如:

func plusPlus(a, b, c int) int { 
    return a + b + c 
} 

示例:以下实例为 max() 函数的代码,该函数传入两个整型参数 num1 和 num2,并返回这两个参
数的最大值: 

/* 函数返回两个数的最大值 */ 
func max(num1, num2 int) int {    /* 声明局部变量 */ 
   var result int 
 
   if (num1 > num2) { 
      result = num1 
 
   } else { 
      result = num2 
   } 
   return result  
}

函数调用

当创建函数时,你定义了函数需要做什么,通过调用该函数来执行指定任务。 
调用函数,向函数传递参数,并返回值,例如:

package main 
 
import "fmt" 
 
func main() {    /* 定义局部变量 */ 
   var a int = 100 
   var b int = 200 
   var ret int 
 
   /* 调用函数并返回最大值 */ 
   ret = max(a, b) 
 
   fmt.Printf( "maxNum= : %d\n", ret ) 
} 
 
/* 函数返回两个数的最大值 */ 
func max(num1, num2 int) int {    /* 定义局部变量 */ 
   var result int 
 
   if (num1 > num2) { 
      result = num1 
   } else { 
      result = num2 
   } 
   return result  
} 

以上实例在 main() 函数中调用 max()函数,执行结果为: 

最大值是 : 200 

函数返回多个值

package main 
 
import "fmt" 
 
func swap(x, y string) (string, string) { 
   return y, x 
} 
 
func main() { 
   a, b := swap("Mahesh", "Kumar") 
   fmt.Println(a, b) 
} 

以上实例执行结果为:

Kumar Mahesh 

可变参数函数

可变参数的函数可以用任何数量的参数来调用。 例如,fmt.Println()就是一个常 见的可变函数。 下面的例子将任意数量的 int 作为参数。可变参数的函数可以通过单独的参数以通 常的方式调用。 如果已经在一个切片中有多个参数,使用 func(slice ...)函数将它们应用到一 个可变函数。 

package main

import "fmt"

// 这个函数可以传入任意数量的整型参数
func sum(nums ...int) {
    fmt.Print(nums, " ")
    total := 0
    for _, num := range nums {
        total += num
    }
    fmt.Println(total)
}

func main() {

    // 支持可变长参数的函数调用方法和普通函数一样
    // 也支持只有一个参数的情况
    sum(1, 2)
    sum(1, 2, 3)

    // 如果你需要传入的参数在一个切片中,像下面一样
    // "func(slice...)"把切片打散传入
    nums := []int{1, 2, 3, 4}
    sum(nums...)
}

函数形参的副本机制

默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。 传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

以下定义了swap()函数

/* 定义相互交换值的函数 */ 
func swap(x, y int) int { 
   var temp int 
   temp = x /* 保存 x 的值 */ 
   x = y    /* 将 y 值赋给 x */ 
   y = temp /* 将 temp 值赋给 y*/ 
 
   return temp; 
} 

 接下来让我们使用值传递来调用swap()函数。

package main 
import "fmt"  
func main() { 
   /* 定义局部变量 */ 
   var a int = 100 
   var b int = 200 
 
   fmt.Printf("交换前 a 的值为 : %d\n", a ) 
   fmt.Printf("交换前 b 的值为 : %d\n", b ) 
 
   /* 通过调用函数来交换值 */ 
   swap(a, b) 
 
   fmt.Printf("交换后 a 的值 : %d\n", a ) 
   fmt.Printf("交换后 b 的值 : %d\n", b ) 

} 
 
/* 定义相互交换值的函数 */ 
func swap(x, y int) int { 
   var temp int 
 
   temp = x /* 保存 x 的值 */ 
   x = y    /* 将 y 值赋给 x */ 
   y = temp /* 将 temp 值赋给 y*/ 
 
   return temp; 
} 

以上代码执行结果为:

交换前 a 的值为 : 100 
交换前 b 的值为 : 200 
交换后 a 的值 : 100 
交换后 b 的值 : 200

参数的引用传递

引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。 引用传递指针参数传递到函数内,以下是交换函数 swap() 使用了引用传递: 

/* 定义交换值函数*/ 
func swap(x *int, y *int) { 
   var temp int 
   temp = *x    /* 保持 x 地址上的值 */  
   *x = *y      /* 将 y 值赋给 x */  
   *y = temp    /* 将 temp 值赋给 y */ 

 
} 
以下我们通过使用引用传递来调用 swap() 函数: 
package main 
 
import "fmt" 
 
func main() {    /* 定义局部变量 */ 
   var a int = 100 
   var b int= 200 
 
   fmt.Printf("交换前,a 的值 : %d\n", a )  
   fmt.Printf("交换前,b 的值 : %d\n", b ) 
 
   /* 调用 swap() 函数   
    * &a 指向 a 指针,a 变量的地址  
    * &b 指向 b 指针,b 变量的地址 
   */ 
   swap(&a, &b) 
 
   fmt.Printf("交换后,a 的值 : %d\n", a )  
   fmt.Printf("交换后,b 的值 : %d\n", b ) 
} 
 
func swap(x *int, y *int) { 
   var temp int  
   temp = *x    /* 保存 x 地址上的值 */   
   *x = *y      /* 将 y 值赋给 x */   
   *y = temp    /* 将 temp 值赋给 y */ 
}

执行结果为:

交换前,a 的值 : 100 
交换前,b 的值 : 200 
交换后,a 的值 : 200 
交换后,b 的值 : 100 

函数作为值

Go 语言可以很灵活的创建函数,并作为值使用。以下实例中我们在定义的函数中初始化一个变量,该函数仅仅是为了使用内置函数 math.sqrt() ,实例为: 
 

package main 
 
import ( 
   "fmt" 
   "math" 
) 
 
func main(){ 
   /* 声明函数变量 */ 
   getSquareRoot := func(x float64) float64 { 
      return math.Sqrt(x) 
   } 
 
   /* 使用函数 */ 
   fmt.Println(getSquareRoot(9)) 
 
} 

以上代码执行的结果为:3

匿名函数

Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。 

以下实例中,我们创建了函数 getSequence() ,返回另外一个函数。该函数的目的是在闭包
中递增 i 变量,代码如下: 

package main 
 
import "fmt" 
 
func getSequence() func() int { 
   i:=0 
   return func() int { 
      i+=1 
     return i   
   } 
} 
 
func main(){ 
   /* nextNumber 为一个函数,函数 i 为 0 */ 
   nextNumber := getSequence()   
 
   /* 调用 nextNumber 函数,i 变量自增 1 并返回 */ 
   fmt.Println(nextNumber()) 
   fmt.Println(nextNumber()) 
   fmt.Println(nextNumber()) 
    
   /* 创建新的函数 nextNumber1,并查看结果 */ 
   nextNumber1 := getSequence()   

   fmt.Println(nextNumber1()) 
   fmt.Println(nextNumber1()) 
} 

以上代码的结果为:

1 
2 
3 
1 
2 

方法:包含了接收者的函数

Go 语言中同时有函数和方法。一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集。语法格式如下:

func (variable_name variable_data_type) function_name() [return_type]{    /* 函数体*/ 
} 

下面定义一个结构体类型和该类型的一个方法:

package main 
 
import ( 
   "fmt"   
) 
 
/* 定义结构体 */ 
type Circle struct { 
  radius float64 
} 
 
func main() { 
  var c1 Circle 
  c1.radius = 10.00 
 
  fmt.Println("Area of Circle(c1) = ", c1.getArea()) 
} 
 
//该 method 属于 Circle 类型对象中的方法 
func (c Circle) getArea() float64 {   //c.radius 即为 Circle 类型对象中的属性 
  return 3.14 * c.radius * c.radius 
} 

以上代码执行结果为:

Area of Circle(c1) =  314

 

 

【Golang学习之旅】Go 语言基础语法概览 ✅ 适合人群: Golang 新手 | 后端开发者 | 面试求职者✅ 文章亮点: 语法详解 + 实战代码 + 高质量示例✅ 目标: 10 分钟快速掌握 Golang 基础语法,助你高效写项目!Go 语言(Golang)是Google开发的一门静态强类型并发支持强语法简洁的编程语言,广泛应用于后端开发云计算微服务区块链等领域。🔹 Go 语言的 4 大核心特点:✅ 语法简洁(减少代码冗余,开发高效)✅ 高性能(比 Python 快,比 Java 简单) 阅读详情

相关推荐

go语言学习笔记 — 基础 — 控制流(3):for循环语句

在不少实际问题中,有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。以下为大多数编程语言循环程序的流程图: Go语言的循环只有for一种表示方法,提供了以下两种循环处理语句: 循环类型 描述 for循环 重复执行语句块 for嵌套循环 在for循环中嵌套一个或多个 for 循环 for循环可以通过break、goto、return、panic等语句强制退出循环。 1. for循环 for循环是一个循环控制结构,可以用来执行指定次数的循环。 1.1 for循环的语法

yjk13703623757的博客 1443

Go语言循环遍历含有中文的字符串

因为使用普通for循环时,得到的类型是uint8,对应ASCII编码表,而中文字符在ASCII编码表中没有相对应的ID,那输出中文时就会出现乱码。而在使用for range时,得到的类型时int32,对应Unicode编码表,中文字符在Unicode编码表中存在中文相对应的ID,输出正常。可见用for range对含有中文字符的字符串进行循环遍历就不会出现乱码的问题。使用for range循环时,得到的类型是int32,也就是rune类型。可见,使用普通循环时,得到的类型是uint8,也就是byte类型。

m0_53328239的博客 808

Go 学习笔记(9)— 循环(for、for range访问数组、切片、字符串和通道、goto、continue、break)

1. for 循环 Go 语言的 for 循环有 3 种形式,只有其中的一种使用分号。 和 C 语言的 for 一样 for init; condition; post { } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; post: 一般为赋值表达式,给控制变量增量或减量; 和 C 的 while 一样 for c...

wohu1104的专栏 2181

Go字符串使用for range循环和用for循环不一样踩的坑

func main(){ s:="abcd" fmt.Printf("%T\n",s[0]) //s[i]的类型为uint8 for i:=0;i<len(s);i++{ fmt.Printf("%T\n",s[i]) } //s[i]的类型为uint8 for _,v:=range s{ fmt.Printf("%T\n",v) } //v的类型为int32 } 相同字符串在使用不同遍历方式的时候,类型是不一样的. 使用普通循环时,得到的类型是uin.

Mark66890620 701

【go从入门到精通】for循环控制

Go 语言提供了for循环语句,用于重复执行一段程序逻辑,直到循环条件不再满足时终止。循环可以用于迭代各种数据结构(例如切片、数组、映射或字符串)中的元素本文将很基础的for循环语法,循环嵌套,无限循环,goto,break,continue呈现给正在学习go开发的读者。

yolo模型训练找我,AI游戏合作找我 8万+

三分钟解决RKNN-Toolkit2安装失败:从模块报错到成功验证的完整记录

本文详细记录了RKNN-Toolkit2安装失败的解决方案,从环境配置到模型转换实战,特别针对常见的'No module named 'rknn''报错提供了完整修复指南。通过YOLOv8模型转换示例,展示了从ONNX到RKNN格式的完整流程,并分享了在RK3588芯片上的部署优化技巧。

html8的博客 264

Go中字符串的遍历技巧:轻松操作文本

本文介绍了Go语言中遍历字符串的几种常见方法。通过for循环和索引、for循环和range关键字、使用strings包和unicode/utf8包中的函数,可以方便地遍历字符串并处理其中的字符。字符串遍历方法:1、使用“for range”语句遍历,语法“for key, value := range str {...}”;2、使用strings包的Map()函数来遍历,语法“trings.Map(func(rune), 原字符串)”,其中参数“func(rune)”是一个回调函数,用于对字符串中每一

SteveRocket's-Blog 2059

【STM32/GD32】Keil uVision生成bin文件:从编译选项到Bootloader升级实战

本文详细讲解了如何在Keil uVision中配置STM32/GD32工程,使其在编译后自动生成Bootloader升级所需的bin文件。通过解析fromelf工具的使用、构建后命令的配置以及内存布局规划,深入阐述了bin文件在固件升级中的核心作用,并提供了串口Bootloader的实战框架与常见问题解决方案。

weixin_29190169的博客 395

Go语言中的字符rune类型和索引访问、range循环迭代及常用字符串函数列表了解

Go语言的字符串是使用UTF-8编码的,UTF-8是Unicode的实现方式之一,因此可以直接在代码中使用中文,而不像python那样别扭。给我们国人开发带来很好的便利。Go语言中的原生字符串需要使用双引号("")或反引号(``)定义。单引号不能用来表示字符串,否则会报错:在GO语言中双引号:"", 用于单行字符串。如果需要用于多行字符串,需要使用反引号:``,此时反引号中的内部会原样解析。

本博客记录了从2014年以来在工作学习中遇到的技术问题、解决方法以及部分个人人生经历、经验等内容。 806

excel 利用SUBTOTAL函数计算筛选后数列总和、均值、最大、最小值

表里有三个人,咱们需要筛选出三个人,并分别计算他们的总和值。 先看一下数据范围(A1:B27) 通过筛选找张三。 按照上图所示输入函数,选择9,求和。 然后按照函数输入即可。 就能计算出结果。 筛选项选择王五,就会自动计算王五的总和。 筛选到李四就会自动计算李四的总和。 如果把9改成1,就是自动计算筛选出来的均值结果,如下图所示。 如果改成4就是取筛选项的最大值,选择5就是取最小值。 ...

yuanYW7556的博客 3万+

python爬取银行年报2

python爬取公司年报(巨潮资讯网)

bboysteed的博客 4731

【Go语言快速上手(二)】 分支与循环&函数讲解

本篇文章站在能快速上手GO语言的前提下,讲解了GO语言的分支与循环语句,以及函数的详解,内附代码和图文讲解,看完就能学会!

杭电码农-NEO的博客 2550

基于C++和Qt开发IEC104规约主站调试软件(第二章)

本章节主要讲解iec104主站软件界面设计和从站的连接功能以及部分功能代码的展示。

半青年的博客 860

Go语言基础(Golong入门看这一篇就够了)

在Go语言中方法和函数是俩个概念。方法必须有一个接收者,这个接收者是一个类型,方法就会和这个类型绑定,称为这个类型的方法。type Age uint //定义一个新类型Age,也就是对uint重命名func (age Age) String() { //接收Age类型的参数,方法为String()age :=Age(55) //定义Age类型的age参数age.String() //调用String方法。

2301_80148821的博客 5202

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1043

手把手教你学simulink(16.2)--基于Simulink的高通滤波器(High-Pass Filter)项目

基于Simulink的高通滤波器(High-Pass Filter)项目的详细实例介绍。这个项目将重点放在高通滤波器的设计、实现和仿真上,帮助你理解和应用高通滤波器在信号处理中的作用。

MHD0815的博客 926

Golang for循环

Golang for循环 for循环是Golang唯一的循环语句。for循环主要是用在挨个挨个取出数据的情况下。比如老师点名,老师点名的时候不可能一口气说出全班同学的名字,所以只能一个一个的点名,那么这个挨个挨个点名的过程就类似我们的for循环。 一般for循环 第一种for循环有点类似向其他编程语言的while语句。 示例: 1.package main 2.import ( 3. “log” 4.) 5.func main() { 6. num := 1 7. for num <

华龙在飞翔 1万+

学Simulink--基于电力电子变换器的建模与仿真实例:LLC谐振变换器在高频AC-DC转换中的建模

本文详细介绍了使用Simulink+Simscape Electrical对LLC谐振变换器进行建模与仿真的完整流程。LLC谐振变换器因其高效率、低噪声的特点,广泛应用于高频AC-DC转换场景。文章从背景原理出发,逐步讲解系统结构设计、建模步骤(包括AC源、整流器、LLC变换器、负载等模块搭建)、控制策略实现(固定频率/变频/PID控制)和仿真设置。通过分析仿真结果的关键指标,提出参数整定和算法优化建议。该建模方法为电力电子设计人员提供了实用的仿真工具,有助于优化LLC变换器性能,缩短开发周期。

xiaoheshang_123的博客 298

Go语言 | 02 for循环及常用函数的使用

本以为Go语言和C语言相似度较高,但是在for循环的学习中,还是感觉有很多的不同, 因此做个学习记录

“逛丢一只鞋”的博客 1363

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Go语言基础总结

包声明引入包函数变量语句&表达式注释下面简单给出hello.go文件。

帅小缙的大脑风暴❤ 1263

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

GO语言学习(7)循环语句

Go语言中的循环语句主要有for循环,没有像其他语言中的while或do-while循环。for循环在Go语言中非常灵活,可以用于实现各种循环需求。本文将主要介绍for循环的基本用法。

m0_61990598的博客 1118

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Go 语言循环语句

Go 语言函数定义格式如下:函数体func:函数由 func 开始声明function_name:函数名称,参数列表和返回值类型构成了函数签名。parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。

ztztqb7918pd的博客 844

一起学Go吧! Go语言基础语法篇一

文章目录前言Go的程序结构Go的基础语法Go语言常见数据类型Go语言定义变量 前言 Go的基础语法学好后,对后面项目的进行有极大的帮助! 如果还没安装好环境的童鞋,可以先参照博主的这篇文章进行搭建 一起学Go吧! Go语言入门篇(搭建Go的环境) Go的程序结构 Go 语言的基础组成有以下几个部分: 包声明 必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。 引入包 i.

jmu201821122110 2981

Go 语言 for 循环与 string

问题 昨天写代码时,发现了一个我以前没有注意到的 Go 语言特性。 请看下面这一段代码 import "strings" func someFunc() { s := "some words" for i, c := range s { strings.Contains("another string", c) } } 复制代码这段代码其实是过不了编...

weixin_34055910的博客 1507

Go 语言基础语法全解析:从入门到精通

函数是 Go 语言中组织代码的基本单元。函数定义的语法如下:上述代码定义了一个名为add的函数,它接受两个整数参数a和b,返回它们的和。通过本文对 Go 语言基础语法的全面解析,相信你已经对 Go 语言有了较为深入的理解。从变量声明与数据类型,到控制结构、函数、包与导入等方面,这些基础语法是构建复杂 Go 语言程序的基石。在实际编程过程中,不断练习和运用这些语法,将有助于你编写高效、可靠的 Go 语言代码,开启精彩的 Go 语言编程之旅。

kjj987的博客 2499

Go 语言函数

Go 语言的循环语句是程序控制流的重要部分,用于重复执行代码块。Go 语言中唯一支持的循环结构是for循环,没有while或do-while,这与许多其他编程语言不同。for循环的设计简洁高效,支持多种形式,包括经典循环、类似 while 的循环、无限循环和for-range迭代。forGo 语言的循环语句设计简洁高效,for循环是唯一结构,支持多种形式,适合各种场景。菜鸟教程 - Go 语言 for 循环Go语言中文文档 - 循环语句for。

likuoelie的博客 903
上一篇: 国密SM —— SM3单向散列、SM3案例实现、SM4分组密码标准、Go语言实现SM4加密
下一篇: Go语言基础(八)—— Go语言变量作用域、Go语言数组、Go语言指针
The_Reader
博客等级 码龄10年 74粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值