E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
golang基础小记
golang基础小记
(20)——将格式化字符串作为函数参数
直接上简单实例:packagemainimport"fmt"funcformatAsArgs(formatstring,a...interface{}){s:=fmt.Sprintf(format,a...)fmt.Println(s)}funcmain(){name:="小明"id:=10086formatAsArgs("name:%s,id:%d",name,id)//name:小明,id:1
萌新无罪
·
2020-08-11 20:22
golang基础小记
golang
go
字符串
golang基础小记
(19)——runtime.Caller简单使用:获取函数名和对应的文件名、行号
runtime.Caller函数签名:funcCaller(skipint)(pcuintptr,filestring,lineint,okbool)Caller报告当前go程调用栈所执行的函数的文件和行号信息。实参skip为上溯的栈帧数,0表示Caller的调用者(Caller所在的调用栈)。函数的返回值为调用栈标识符、带路径的完整文件名、该调用在文件中的行号。如果无法获得信息,ok会被设为fa
萌新无罪
·
2020-08-11 20:46
golang基础小记
go
golang
golang基础小记
(13)——自定义类型和类型别名(type)
自定义类型Go语言通过type关键字定义自定义类型。自定义类型是全新的类型。示例://将newInt定义为int类型typenewIntintfuncmain(){varanewInta=100fmt.Println(a)//100fmt.Printf("%T\n",a)//main.newInt}上例中的newInt是具有int特性的新类型。可以看到变量a的类型是main.newInt,这表示m
萌新无罪
·
2020-08-10 09:23
golang基础小记
go
golang
golang基础小记
(11)——函数基础、高阶函数、匿名函数、闭包、内置函数简介
函数基础语法格式:func函数名(参数)(返回值){函数体}参数参数由参数变量和对应类型组成,多个参数用,分隔。Go语言中函数没有默认参数类型简写:当连续两个或多个函数的参数类型相同时,除最后一个类型以外,其它都可以省略。比如参数xint,yint可以写成x,yint。可变参数:当参数数量不固定时,可以通过在参数名后加...来标识可变参数。可变参数在函数中通过切片来实现。可变参数必须放在固定参数的
萌新无罪
·
2020-08-10 08:19
golang基础小记
golang基础小记
(12)——defer
defer语句Go语言中的defer语句会将其后面跟随的函数推迟到外层函数返回之后执行。推迟调用的函数其参数会立即求值,但直到外层函数返回前该函数都不会被调用。推迟的函数调用会被压入一个栈中,当外层函数返回时,被推迟的函数会按照后进先出的顺序调用。defer语句后面只能跟函数调用。示例:a:=1b:=2deferfmt.Println(1,a+b)//推迟的函数参数会立即赋值,后续改变参数值不会影
萌新无罪
·
2020-08-10 08:19
golang基础小记
golang基础小记
(8)——切片:make()函数构造、append()添加元素、copy()复制切片、删除元素
make()函数构造make()函数能动态的构造切片,控制新切片的长度和容量,格式如下:s:=make([]T,len,cap)其中T表示切片的元素类型;len表示切片的长度,每个元素初始化为对应类型的零值;cap表示切片的容量,默认等于len,且cap>=len。make()函数构造的切片必然不是零值,示例如下:s:=make([]int,0,0)fmt.Println(s==nil)//fal
萌新无罪
·
2020-08-10 08:18
golang基础小记
golang基础小记
(1)——fmt.Printf()的一些输出格式
fmt标准库参考Go语言标准库中文文档(搜索fmt包)fmt.Printf()的一些输出格式示例代码:packagemainimport"fmt"funcmain(){//整型varn=100fmt.Printf("%T\n",n)//类型,所有类型可用fmt.Printf("%v\n",n)//值,所有类型可用fmt.Printf("%b\n",n)//二进制fmt.Printf("%d\n",
萌新无罪
·
2020-08-10 08:18
golang基础小记
golang基础小记
(10)——map
map基本概念语法:map[keyType]valueType用于存储键值对(key-value),键具有唯一性内部的键值对之间是无序的,和存入的顺序无关引用类型,声明后值为nil,此时无法添加键值对,需要先使用make()来分配内存(使用方式见基础小记(9))获取长度,即键值对个数:len(map)切片的元素类型可以是map,如[]map[string]string。此时要注意每个元素都需要用m
萌新无罪
·
2020-08-10 08:18
golang基础小记
golang基础小记
(7)——切片:初始化、基础概念
切片(slice)切片(Slice)是一个拥有相同类型元素的可变长度的序列。切片是引用类型,本身并不存储任何数据,其内部包括地址、长度、容量,其底层是数组,所以地址指向底层数组的对应元素。另外,长度是切片的元素个数,容量是长度的最大值,超过则需要扩容。切片长度和容量可以通过内置的len()函数和cap()函数获得。vars=[]int{1,2,3}fmt.Println("长度:",len(s),
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang基础小记
(17)——包(package):自定义包、标识符可见性、导入、init()函数、简单实例
定义包一个包可以简单理解为一个存放.go文件的文件夹。这些go文件都归属于该包,通过在代码第一行声明实现。声明格式:package包名注意:一个包下面的所有文件只能归属于同一个包。包名可以和文件夹名不同,包名不能包含-符号。main包是应用程序的入口包,只有main包才会在编译后生成可执行文件。包中标识符的对外可见性标识符包括变量、常量、类型、函数等,还有结构体中的字段名、接口中的方法名,Go语言
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang
go
golang基础小记
(14)——结构体:定义、初始化、构造函数、匿名字段、嵌套结构体、JSON序列化与反序列化
结构体定义Go语言没有类的概念,但是可以通过结构体实现面向对象编程。结构体是一种自定义数据类型,其可以封装任何类型。示例:typehousestruct{size,pricefloat64stylestring}上例house是自定义结构体类型,包括size、price、style三个字段,可以用来描述房子的面积、价格和风格。house类型的变量可以很方便的存储房子信息。结构体实例化结构体是值类型
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang基础小记
(4)——if、for、for range、switch
if、for、forrange、switch内容均以代码形式呈现,包括:if,注意表达式不需要加();左大括号{必须与if、else在同一行;大括号{}绝对不能省去。(示例代码第6行)for,go中没有while。(示例代码第26行)forrange,遍历数组、切片、字符串时返回索引(int类型)和值;map返回键和值;通道(channel)只返回通道内的值;如果不想要返回的值,用_代替(示例代码
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang基础小记
(18)——文件操作:文件开关、简单的读写实例、设置文件读写位置、文件删除、文件名重命名
文件打开和关闭os包中Open()函数能够以只读方式打开一个文件,函数返回*File和err。打开的文件可以通过调用Close()方法关闭。Open()函数定义:funcOpen(namestring)(*File,error)Open()函数接收文件路径,返回一个文件指针和可能的具体错误。Close()方法定义:func(file*File)Close()error示例:import("fmt"
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang
go
golang基础小记
(9)——指针、new和make
指针Go语言中的指针不能进行偏移和运算,没有内存泄漏的风险。&:取地址操作符,取出变量的地址*:取值操作符,取出指针指向的值b:=&a:这里的b是指针变量,保存变量a的地址,且*b==a。指针变量是引用类型的变量,声明时不会默认分配内存空间(值类型的变量在声明时会默认分配内存空间),需要使用内建函数来分配。如果只声明就直接赋值,会引发panic。newnew是一个内建函数,用于值类型的内存分配。使
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang基础小记
(16)——接口(interface):基本概念、接口嵌套、空接口、类型断言(获取接口底层值)
基本概念定义Go语言中接口(interface)是一种类型,一种抽象的类型。接口类型是由一组方法签名定义的集合。接口的定义格式:type接口类型名interface{方法名1(参数列表1)返回值列表1方法名2(参数列表2)返回值列表2…}接口类型名:自定义,一般会在后面添加er,表明接口类型方法名首字母和接口类型名首字母都大写时,该方法可以被其他包访问参数列表和返回值列表中可以省略变量名,只保留类
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang基础小记
(15)——方法(Method)
方法方法(Method)就是一类带特殊的接收者(Receiver)参数的函数。其与函数的区别在于,函数不属于任何类型,方法属于特定的类型。定义格式:func(接收者变量接收者类型)方法名(参数)返回值{函数体}示例:typemyIntint//给myInt类型添加方法,判断值是否大于5func(imyInt)biggerThanFive()bool{ifi>5{returntrue}returnf
萌新无罪
·
2020-08-10 08:08
golang基础小记
golang
go
golang基础小记
(3)——字符类型(byte和rune)与字符串修改
byte和rune类型两种字符类型:uint8类型,或者叫byte型,代表了ASCII码的一个字符。rune类型,代表一个UTF-8字符,本质是int32类型。rune类型用于处理复合字符,如中文、日文等。代码示例:packagemainimport"fmt"funcmain(){s:="woai中国"//len(s)返回的是s的字节数,而不是字符数fmt.Println(len(s))//12/
萌新无罪
·
2020-08-10 08:07
golang基础小记
golang基础小记
(6)——数组:定义、初始化、遍历
Array数组定义数组是同一种数据类型元素的集合。在Go语言中,数组声明时必须指定元素类型和长度。使用时只可以修改元素值,不可修改长度。不同长度或元素类型的数组属于不同的类型。vara1[3]bool//定义了元素类型是bool,长度为3的数组vara2[4]bool//输出数组类型,可见数组类型由元素类型和长度共同决定fmt.Printf("%T%T",a1,a2)//[3]bool[4]boo
萌新无罪
·
2020-07-02 11:49
golang
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他