go 基本语法
====type==== import (
"fmt"
) func main() {
type bigint byte //定义类型
var a bigint
fmt.Printf("a type is %T\n",a)
type(
long int64
char byte
)
var b char ='a'
var c long =1000 fmt.Printf("b=%c,c=%d",b,c) ========channel========
package main import (
"time"
"fmt"
) func test_channel() {
//ch:=make(chan int)
ch<-1
ch<-1
fmt.Println("come to end go runtime 1")
} var ch chan int
func main() {
ch =make(chan int,0)
go test_channel()
time.Sleep(2* time.Second)
fmt.Println("runing end")
<-ch
time.Sleep(time.Second)
} =====协程==========
package main import (
"fmt"
"time"
) func test_Rou(){
fmt.Println("ddd")
}
func Add (x,y int){
z:=x+y
fmt.Println(z)
}
func main() {
go test_Rou()
for index := 0; index < 10; index++ {
go Add(index,index)
}
time.Sleep(10)
}
-----指针----
package main
import ("fmt")
func swap(p1 * int,p2 * int){
*p1,*p2 =*p2,*p1;
}
func main() {
a :=10;
var p * int;p=&a;
fmt.Printf("p=%d,&a=%v,*p=%v\n",p,&a,*p)
a,b :=10,20
swap(&a,&b)
fmt.Printf("a=%d,b=%d\n",a,b)
}
--------多维数组------
package main
import (
"fmt"
)
func main() {
//多维数组
//var a [10] int
//var b [5] int
//fmt.Println(a,b);
var c [3][4] int
k:=0;
for i:= 0; i<3; i++ {
for j := 0; j <4; j++ {
k++;
c[i][j]=k;
fmt.Printf("a[%d][%d]=%d,\n",i,j,c[i][j])
//frm.fmt.Println(i,j,a[i][j])
}
} }




随机数

产生数据数
package main import (
"fmt"
"math/rand"
"strconv"
"time"
) func main() {
//设置随机数种子
rand.Seed(time.Now().UnixNano())
var captcha string
for i := 0; i < 6; i++ {
//产生0到9的整数
num := rand.Intn(10)
//将整数转为字符串
captcha += strconv.Itoa(num)
}
fmt.Println(captcha)
}
---go 回调函数
package main import (
"fmt"
) type FuncType01 func(int,int)int //回调函数 就是函数有一个参数是函数类型,这个函数就是回调函数
//fTest FuncType01 多态接口 调用一个接口,可以有不同实现方式 func Calc(a,b int,fTest FuncType01)(result int){ //fTest = Add1
// fmt.Println("Calc")
result = fTest(a,b)
//result =Add1(3,4)
return
} func Add1(a,b int) int {
return a+b
} // func Minus1(a,b int) int {
// return a -b
// } // func Mul(a,b int) int{
// return a*b
// } func main() { a := Calc(3,4,Add1)
fmt.Println("a=",a) // a = Calc(7,5,Minus1)
// fmt.Println("a=",a) // a = Calc(4,3,Mul)
//fmt.Println("a=",a) }
-----闭包及闭包的特点
package main
import "fmt"
func main(){
a := 20
str := "aaa"
func(){
//闭包以引用的方式捕获外部变量
a = 40
str ="bbb"
fmt.Printf("a=%d,str=%s\n",a,str)
}()
fmt.Printf("a=%d,str=%s\n",a,str)
}
go 基本语法的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- postgresql 基本语法
postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...
随机推荐
- python-openCV 绘制图形
文档链接:https://docs.opencv.org/trunk/dc/da5/tutorial_py_drawing_functions.html 文档描述了OpenCV的几个绘图功能: 绘制圆 ...
- IT兄弟连 Java语法教程 流程控制语句 分支结构语句2
2 if-else条件语句 if-else语句的完整形式如下: if(判断条件){ A代码块(判断条件的值为true,执行) }else{ B代码块(判断条件的值为false,执行) } 当然,如果 ...
- pixijs shader 案例
pixijs shader 案例 const app = new PIXI.Application({ transparent: true }); document.body.appendChild( ...
- 解决 layui 弹出层(弹框)一闪而过就消失的问题 (转载)
转载: 原文链接:https://blog.csdn.net/qq_20594019/article/details/83956532 本人遇到问题:使用layer.open()弹出页面层,出现弹框闪 ...
- Python爬虫实践~BeautifulSoup+urllib+Flask实现静态网页的爬取
爬取的网站类型: 论坛类网站类型 涉及主要的第三方模块: BeautifulSoup:解析.遍历页面 urllib:处理URL请求 Flask:简易的WEB框架 介绍: 本次主要使用urllib获取网 ...
- 黄聪:后门(Webshell)
<?php if ("hello"==$_GET["test"]){ echo "testtrue";}if(is_uploaded_ ...
- springboot服务的一些问题
一: springboot踩坑记--springboot正常启动但访问404; 1. spring boot的启动类不能直接放在main(src.java.main)这个包下面,把它放在有包的里面就可 ...
- Web安全攻防笔记-SQL注入
information_schema(MySQL5.0版本之后,MySQL数据库默认存放一个information_schema数据库) information_schema的三个表: SCHEMAT ...
- 剑指offer 19:二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 解题思路 这一问题明显,在进行递归遍历节点时,将根节点的左右子树进行交换,因此完成树的遍历即可. C++实现代码 /* ...
- 怎么更改當前的USERENV('LANG')返回值
[php] SQL> ALTER SESSION SET NLS_LANGUAGE='AMERICAN'; Session altered. SQL> select USERENV('LA ...