-
Golang语法总结(三):可见性规则(公有与私有,访问权限)
所属栏目:[大数据] 日期:2020-12-16 热度:188
Go语言没有像其它语言一样有public、protected、private等访问控制修饰符,它是通过字母大小写来控制可见性的,如果定义的常量、变量、类型、接口、结构、函数等的名称是大写字母开头表示能被其它包访问或调用(相当于public),非大写开头就只能在包内使用[详细]
-
golang语法总结(四):基本数据类型
所属栏目:[大数据] 日期:2020-12-16 热度:61
整型有:int8/uint8、int16/uint16、int32/uint32、int64/uint64、int/uint、byte、rune 1) 数字表示占多少位,uint的u表示unsigned,有点C语言基础的都知道是什么意思,这里就不赘述了; 2) int/uint会根据运行平台可能为32位或64位; 3) rune相当于int32的[详细]
-
golang语法总结(五):变量声明与赋值
所属栏目:[大数据] 日期:2020-12-16 热度:59
变量声明与赋值示例: j := 10 //省略var关键字 var i int = 1 //var关键字声明一个变量,紧跟一个变量名,然后是变量类型,最后是赋值 hehe "hehe" //可以省略变量类型,编译器根据赋值的类型自动推算变量的类型 a , b c d 1 2 3.14 4 //同时申明多个并赋值[详细]
-
golang语法总结(六):常量声明与赋值
所属栏目:[大数据] 日期:2020-12-16 热度:168
常量的值必须在编译时期就确定下来,所以要么直接给出确定的值,要么使用Go自带的函数(比如len(),计算长度); 用const关键字声明 定义与赋值示例: const _THRESHOLD int = 10 //完整形式 PI 3.14 //可省略类型,编译器自动推断 STR "hello world" ( MAX_V[详细]
-
golang语法总结(七):常量计数器
所属栏目:[大数据] 日期:2020-12-16 热度:194
关键字为iota,没遇到一个const关键字就会置为0,然后递增。还有就是如果定义常量组,没有赋值的编译器会自动将其赋值表达式置为和它前面那个变量的表达式一样 const ( A = 55 B iota C D ) func main () { fmt . Println A B C D ) } 输出: 55 1 2 3[详细]
-
golang语法总结(八):类型零值、类型别名、类型转换
所属栏目:[大数据] 日期:2020-12-16 热度:187
类型零值 变量声明为某种类型后的值就为该类型的零值,它不是空值。通常数值类型默认为0,bool为false,string为空字符串 类型别名 比如: type text string func main () { var t text = "hello world" fmt. Println ( t ) } 类型转换 Go语言不存在隐式转换[详细]
-
golang语法总结(九):运算符、指针
所属栏目:[大数据] 日期:2020-12-16 热度:147
运算符 Go的运算符是从左至右结合的(和其它很多语言相反) 指针 Go语言保留了指针,但不支持"-",而是直接用"."来操作指针目标对象的成员 简单使用示例: var a int = 45 p * a fmt . Println (* p )[详细]
-
golang语法总结(十):关于++和--
所属栏目:[大数据] 日期:2020-12-16 热度:73
和其它语言有很大不同,它只能放在变量的后面而不能放在前面,而且只能作为一条语句而不是表达式。 举个栗子: var i = 1 j = i ++ 这段代码将不同通过编译[详细]
-
golang语法总结(十一):判断语句if
所属栏目:[大数据] 日期:2020-12-16 热度:72
条件表达式没有括号 支持初始化表达式 初始化语句的变量自在本block内有效 if a , b c := 1 2 3 ; a + c 6 { fmt . Println ( "haha" ) } else "hehe" }[详细]
-
golang语法总结(十二):循环语句
所属栏目:[大数据] 日期:2020-12-16 热度:199
Go循环只有for关键字,没有while,但可以达到同样的效果 for a , b := 1 2 ; a + 100 ++ { fmt . Println ( ) } i := 1 i = 100 i ) ++ = for if break }[详细]
-
golang语法总结(十三):选择语句switch
所属栏目:[大数据] 日期:2020-12-16 热度:103
条件语句可以使用任何类型或表达式,甚至不填 不需要写break,一旦条件符合自动终止, 如果希望继续执行下一个case,需使用fallthrough 支持初始化表达式,右侧跟分号 var a int = 1 switch { case a = 1 : fmt . Println ( "a=1" ) 0 "a=0" ) } a "a=0" "a=[详细]
-
golang语法总结(十四):跳转语句goto、break、continue
所属栏目:[大数据] 日期:2020-12-16 热度:69
和其它许多语言用法大致一样,三种语法支持配合标签使用,标签区分大小写 goto package main import "fmt" func main () { var i int = 1 if i = 10 goto LABEL } fmt . Println ( "before label" ) LABEL : "after label" ) } 输出: after label break for[详细]
-
golang语法总结(十五):数组array与切片slice
所属栏目:[大数据] 日期:2020-12-16 热度:154
数组 数组定义格式示例: var a [ 2 ] int fmt . Println ( a ) b := int { , 3 } b ) 输出: [0 0] [2 3] 还可以省略数组长度,编译器自动推算: a [...] 5 6 7 8 } 还可以使用索引初始化: 9 : 1 ) 输出: [0 0 0 0 0 0 0 0 0 1] 需要注意的是,数组长度也[详细]
-
golang语法总结(十六):map
所属栏目:[大数据] 日期:2020-12-16 热度:187
相当于其它语言的哈希表或字典,key-value形式存储数据 key必须是支持==和!=比较运算的类型,不能是函数、map或slice var m1 map [ int ] string m1 = make ( map string ) fmt . Println m1 //map[] m2 map m2 [ 1 ] "OK" //map[1:OK] m3 := m3 //map[] m4[详细]
-
golang语法总结(十七):函数
所属栏目:[大数据] 日期:2020-12-16 热度:142
用关键字func定义 可以有多个返回值 func main (){ f1 () //f1 a , b := f2 ( 1 1.2 ) fmt . Println ( a b //4.34 2 c d e f3 c e //1 2 3 f4 ( "OK" 2 3 4 //OK [1 2 3 4] f5 //hello world f f6 f )) //3 } func f1 //没有返回值就不写 "f1" ) func f2 a[详细]
-
golang语法总结(十八):处理异常
所属栏目:[大数据] 日期:2020-12-16 热度:78
Go语言没有提供像其它语言一样的try catch的异常与捕获机制,可以用defer、panic、recover代替。 defer的语句或函数在当前函数执行完之后再执行,先defer的后执行,后defer的先执行。当程序发生严重错误的时候defer也能够执行。有点类似其它语言的析构函数[详细]
-
Go如何实现枚举小实例分享
所属栏目:[大数据] 日期:2020-12-16 热度:135
package handlerconst (StatusDefaultError = 1StatusAuthFaild = 600StatusUnknowAction = 601StatusPostArgsError = 602StatusNotValidFile = 603)var statusText = map[int]string{StatusDefaultError: "Unknow Error",StatusAuthFaild: "Authentication[详细]
-
golang语法总结(十九):结构struct
所属栏目:[大数据] 日期:2020-12-16 热度:143
Go没有class,也没有继承机制,只能定义结构体,但是功能还是很强大。本文先演示下它的基本用法。 简单使用示例: type person struct { Name string Age int } func main () a := person //声明的时候可以赋初始值,也可以不要 Name : "cpwl" , : 21 a . Na[详细]
-
golang语法总结(二十):struct组合
所属栏目:[大数据] 日期:2020-12-16 热度:151
Go的struct可以嵌入组合其它struct,有点像是继承,下面是示例: type human struct { Sex int } type person human //嵌入结构,只需要写出结构类型 Name string Age func main () a := person Name : "cpwl" , : 21 human human //默认用嵌入结构类型名作为[详细]
-
golang语法总结(二十一):方法method
所属栏目:[大数据] 日期:2020-12-16 热度:181
Go不像其它面相对象语言一样可以写个class,然后在class里面写一堆方法,但是它也很巧妙的实现了这种效果,我们只需要在普通函数前面加个接受者(receiver,写在函数名前面的括号里面),这样编译器就知道这个函数(方法)属于哪个struct了。 下面是简单示例[详细]
-
golang语法总结(二十二):接口interface
所属栏目:[大数据] 日期:2020-12-16 热度:93
类型关键字为interface 不需要显式声明实现某个接口,只要实现相关方法就实现了接口 基本示例: type Person interface { Name () string } type Student struct name func ( s Student ) Name string return s . name func main var p Person p = Student :[详细]
-
Golang(Go语言)内置函数之append
所属栏目:[大数据] 日期:2020-12-16 热度:187
append主要用于给某个切片(slice)追加元素 如果该切片存储空间(cap)足够,就直接追加,长度(len)变长;如果空间不足,就会重新开辟内存,并将之前的元素和新的元素一同拷贝进去 第一个参数为切片,后面是该切片存储元素类型的可变参数 基础用法: slic[详细]
-
Golang学习摘录(三)
所属栏目:[大数据] 日期:2020-12-16 热度:154
golang学习笔记(三) 方法(Method sets) The method set of any other type T consists of all methods declared with receiver type T. The method set of the corresponding pointer type *T is the set of all methods declared with receiver *T or T[详细]
-
GO语言(golang)官方网站!
所属栏目:[大数据] 日期:2020-12-16 热度:191
GO语言官方网站,在上面可以查看所有API文档、使用在线工具编写程序,你可以去看看!! https://golang.org/ 不能访问,可以使用下面工具: https://github.com/freenethub/freenethub[详细]
-
Golang(Go语言)内置函数之copy用法
所属栏目:[大数据] 日期:2020-12-16 热度:148
该函数主要是切片(slice)的拷贝,不支持数组 将第二个slice里的元素拷贝到第一个slice里,拷贝的长度为两个slice中长度较小的长度值 示例: s := [] int { 1 , 2 3 } fmt . Println ( s ) //[1 2 3] copy 4 5 6 7 8 9 }) //[4 5 6] 有一种特殊用法,将字符[详细]
