取值
{{ . }}{{ .m1 }}注释
{{/* 单行或者多行注释*/}}设置变量
{{ $name := "tommy" }}取列表某个index值
{{ index .hobby 2 }}if条件判断{{ if $age }} {{age}}{{else}} age屁都没有{{end}}lt:小于 gt:大于 eq:等于...如果小于18岁{{if lt $age 18 }}
原创
精选
2021-11-22 20:36:51
1081阅读
/1.go语言常量常量是一个简单的标识符,在程序运行时,不会被修改的量常量中的数据类型只能是布尔型,数字型(整形、浮点型和复数)和字符串型。定义格式为constbtype=value2.根据省略类型说明符type,根据变量的值来推断其类型。显示类型定义:constbstring="abc"隐示类型定义:constb="abc"多个相同类型的声明可以简写为:consta,b=value1,value
原创
2022-02-13 20:33:34
823阅读
切片实际上是一个Go的数据结构,我们可以增加更多的值。与数组相同的是,切片由多个相同类型的元素构成。不同的是,切片允许我们在结尾追加更多的元素。定义var sliceuser []int切片不需要指定大小,但是声明后的变量不会自动创建一个切片,想要创建,需要调用make函数sliceuser = make([]int,7)也可以使用短变量声明sliceuser := make([]int ,7
原创
2022-03-31 13:34:16
129阅读
1、if语句,满足条件就执行,否则做另一件事。注意的地方是if后面的条件是没有括号的。if x > 100 { fmt.Println("x大于10")} else { fmt.Println("x小于等于10")}还可以有多个条件if x > 10 { fmt.Println("x大于10")} else if x == 10 { fmt.Println("x
原创
2022-03-14 09:35:27
90阅读
方法类似于函数,但有一点不同,关键字func放后面添加了另一个参数部分,用于接受单个参数。import "fmt"import "strconv"type Gril struct { Name string Age int}func (g *Gril) info() string { return g.Name+","+strconv.Itoa(g.Age)}func main(
原创
2022-03-16 13:00:01
196阅读
我们需要编写一个程序,允许学生输入他们的分数,并告诉他们是否通过。如果用户输入的百分数大于或等于60,我们的程序需要给出一个响应,否则的话将给出不同的响应。需要做的第一件事是允许用户输入分数。我们希望他们输入一个数字并按回车键,我们将把他们输入的数字存在一个变量中。让我们添加一些代码来处理这个问题。import ( "bufio" "fmt" "os" "log")func
原创
2022-03-25 12:01:05
134阅读
递归,就是在运行的过程中调用自己。funcrecursion(){recursion()/函数调用自身/}funcmain(){recursion()}Go语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。阶乘packagemainimport"fmt"funcFactorial(nuin
原创
2022-02-28 18:24:15
359阅读
Go语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。/定义接口/typeinterface_nameinterface{method_name1return_typemethod_name2return_typemethod_name3return_type...method_namenreturn_type}/定义结构体/t
原创
2022-02-25 21:08:57
247阅读
定义变量
原创
2022-03-10 15:28:43
95阅读
go没有明确意义上的枚举,可以借助iota标识符实现一组自增常量值来代替第一个值是0,后面一次加1。const ( x = iota y z)println(x,y,z)输出0 1 2如果中间赋予其他的值,需要下面的常量按照顺序递增,需要再次使用iota赋予const ( x = iota y = 99 z = iota)println(x,y,z)输出0 99
原创
2022-03-12 10:49:20
144阅读
在调用可能出现问题的方法或者函数时,返回一个类型为错误的值。这意味着如果出现问题,函数通常不会引发异常,而让调用者决定如何处理错误。import ( "fmt" "io/ioutil")func main(){ file,err := ioutil.ReadFile("abc.txt") if err != nil { fmt.Println(err)
原创
2022-03-22 13:45:25
152阅读
包用于将代码分组,以便在go程序中导入并使用他们go程序是以package语句打头。main包是一种特殊的包,其特殊之处在于不能导入。对main包的唯一要求是,必须声明一个main函数,这个函数不接受任何参数兵器不返回任何值,main包是程序的入口。在main包中,可试用import声明来导入其他包。导入包后,就可以使用被导入的标识符。标识符可以是变量,常量,类型,函数或方法,这让包能够通过接口提
原创
2022-03-23 21:49:21
130阅读
当你调用一个声明了形参的函数时,你需要为调用提供实参。每个实参中的值被复制到相应的形参变量。但是如果你想把一个变量的值传递给一个函数并让它以某种方式改变这个值,你就会遇到麻烦。函数只能更改形参中的该值的副本,而不能更改原始值。因此,在函数内部所做的任何更改在函数外部都将不可见!func main(){ a :=1 double(a) fmt.Println(a) } func d
原创
2022-03-29 09:47:08
122阅读
9、go语言切片(slice)go语言切片是对数组的抽象go数组的长度不可改变,在特定场景中这样的集合就不太合适了,go提供了一种灵活、功能强悍的内置类切片(动态数组)与数组相比切片的长度不固定,可以追加元素,在追加时可能使切片的容量增大。9.1、定义切片可以通过声明一个未指定大小的数组来定义切片,eg:varidentifiertype切片不需要说明长度,或使用make()函数来创建切片:eg:
原创
2022-02-10 18:10:48
432阅读
函数是基本的代码块,用于执行一个任务,go语言至少要有个main()函数可以通过函数来划分不同的功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型,和参数。go语言标准库提供了多种可动用的内置函数,如len()函数可以接受不同类型参数并返回改类型的长度,如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。函数的定义格式如下:func
原创
2022-02-12 19:54:43
687阅读
点赞
数组定义:var arr [n]typen表示数组长度,type表示数组存放的类型,数组的长度是不能改变的。1、先定义,后赋值var arr [10]int定义一个int类型的,长度是10的数组arr[0] = 1arr[1] = 10上面是对数组的某一位进行赋值2、定义赋值一起arr :=[3]int{1,2,3}arr2 :=[...]int{1,2,3}arr2中的数组长度使用...,go语
原创
2022-03-13 14:26:32
226阅读
结构体是一系列具有指定数据类型的数据字段,它能够让您通过单个变量引用一系列相关的值。通过使用结构体,可在单个变量中存储多种类型不同的数据字段。存储在结构体中的值可轻松地访问和修改,提供了一种灵活的数据结构创建方式。import "fmt"type Gril struct { Name string Age int}func main() { g := Gril{ N
原创
2022-03-15 13:19:37
153阅读
例如,strconv.Atoi函数试图将字符串转换为整数。如果转换成功,它将返回一个错误值nil,这意味着我们的程序可以继续进行。但如果错误值不是nil,则意味着字符串不能转换为数字。在这种情况下,我们选择打印错误值并退出程序。result , err := strconv.Atoi(input)if err != nil ( log.Fatal(err))我们自己定义的函数如何返回err呢
原创
2022-03-28 08:36:42
139阅读
读取文件使用os.Open方法,然后获取到文本中的每一行。import ( "bufio" "fmt" "log" "os")func main(){ file,err :=os.Open("data.txt") if err != nil { log.Fatal(err) } scanner := bufio.NewScanner(f
原创
2022-03-30 13:36:22
99阅读
常量表示运行时恒定不可改变的值。使用常量可以代替魔法数字,在定义处修改值后,所有引用的值都会改变。const x = 1const y = "hello"const( x = 1 y = "hello")可以在函数内定义常量,不使用也不会出错,在不同作用域定义相同的常量也是可以的。func main() {const x = 1println(x){ const x = 2
原创
2022-03-11 11:42:28
93阅读