Golang web框架
package mainimport ( "fmt" "github.com/garyburd/redigo/redis")var pool *redis.Pool// 程序启动时,初始化连接池func init() { pool = &redis.Pool{ MaxIdle: 8, // 最大空闲连接数 MaxActive: 0, // 数据库最大连接数,0表示不限制 IdleTimeout: 100, // 最大空闲时间 Dial: func() (redi.
package mainimport ( "fmt" "github.com/gin-gonic/gin" "net/http")type UserInfo struct { Username string Age int}func main() { r := gin.Default() r.POST("/form", func(c *gin.Context) { var u UserInfo // 参数绑定 err := c.ShouldBind(&u).
package mainimport "fmt"func main() { // 二维数组 var arr [4][6]int arr[1][2] = 1 arr[2][1] = 2 arr[2][3] = 3 fmt.Println(arr) // 遍历二维数组 for for i := 0; i < 4; i++ { for j := 0; j < 6; j++ { fmt.Print(arr[i][j], " ") } fmt.Println(.
package mainimport "fmt"func main() { // switch语句不需要加break var key byte fmt.Println("请输入一个字符,a,b,c,d,e,f,g") fmt.Scanf("%c", &key) switch key { case 'a': fmt.Println("星期一") case 'b
package mainimport "fmt"func main() { var hens [6]float64 hens[0] = 2.0 hens[1] = 1.2 hens[2] = 1.8 hens[3] = 6.2 hens[4] = 8.8 hens[5] = 3.6 totalWeight := 0.0 for i := 0; i < len(hens); i++ { totalWeight += hens[i] } avgWeight := f.
server.gopackage mainimport ( "fmt" "net")func process(conn net.Conn) { defer conn.Close() for { buf := make([]byte, 1024) fmt.Println("服务器在等待客户端发送信息"+conn.RemoteAddr().String()) n, err := conn.Read(buf) if err != nil { fmt.Printf("服务
1.首先开启go modulego env -w GO111MODULE=on // Windows export GO111MODULE=on // macOS 或 Linux2.配置goproxy:阿里配置:go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/ // Windows export GOPROXY=https://mirrors.aliyun.com/goproxy/
类型 有无符号 占用存储空间 表示范围 备注 int8 有符号 1字节 -2^7~2^7-1(-127-128) int16 有符号 2字节 -2^15~2^15-1 int32 有符号 4字节 -2^31~2^31-1 int64 有符号 8字节 -2^63~2^63-1 uint8 无符号 1字节 0~2^8-1(-~255) ...
package mainimport "fmt"func main() { // 赋值运算符 =、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、 |= a := 1 b := 2 fmt.Println("交换前的情况是: a = %v, b= %v\n", a, b) t := a a = b b = t fmt.Println("交换后的情况是: a = %v, b= %v\n", a, b) a += 1 fmt.Prin.
package mainimport "fmt"func main() { // 逻辑运算符 &&与 、||或 、!非 var age int = 29 if age > 20 && age < 30 { fmt.Println("ok1") } if (age > 20 || age < 20) { fmt.Println("ok2") } if !(age > 30) { fmt.Println("o.
package mainimport "fmt"func main() { var n1 float32 = 10 / 4 fmt.Println(n1) // 2 var n2 float32 = 10.0 / 4 fmt.Println(n2) // 2.5 // a % b = a - a / b * b fmt.Println("10%3=", 10 % 3) // fmt.Println("-10%3=", -10 % 3) // -10-(-10)/3*3 = -.
值类型:基本数据类型int系列,float系列,bool, string,数组和结构体struct引用类型:指针、slice切片、map、管道chan、interface两者区别:(1)内存分配上:值类型内存通常在栈中分配,引用类型通常在堆中分配(2)存储值上:值类型直接存储值,引用类型存储地址,地址对应的空间才是真正的值,当没有任何变量引用这个地址时,改地址对应的数据空间就会成为一个垃圾,由GC来回收...
package mainimport "fmt"func main() { // 加号+ 使用 a := 1 b := 2 // 加法, 两边是数字 sum := a + b fmt.Println("sum = ", sum) // 3 x := "go" y := "lang" // 拼接, 两边是字符串 str := x + y fmt.Println("str : ", str) // golang}...
package mainimport "fmt"func main() { // 变量, 函数外全局变量,内部为局部变量 // 声明变量 var 变量名 值 var a int // 初始化变量 a = 10 fmt.Println("a = ", a) // 声明并初始化,可省略类型,使用类型推导 var b = 100 fmt.Println("b = ", b) // 声明多个变量 var x, y, z int fmt.Println("x = ", x, "y =
package mainimport "fmt"func main() { // golang转义字符 // 制表符\t, tab fmt.Println("hello\tworld") // 换行符\n fmt.Println("hello\nworld") // 转义\ fmt.Println("C:\\Users\\ASUS\\Desktop\\") // 回车\r,从当前行的最前面开始,覆盖掉最前面的内容 fmt.Println("Go\rPHP")}在这里插入代码片
package mainimport "fmt"func main() { // 嵌套分支 var second float64 fmt.Println("请输入秒数") fmt.Scanln(&second) if second <= 8 { // 进入决赛 var gender string fmt.Println("请输入性别") fmt.Scanln(&gender) if gender == "男" { fmt.Println(.
package mainimport ( "fmt" "unsafe")func main() { // 布尔类型, 只有true或false,不能用0或非0替代 var b1 = true var b2 = false fmt.Println("b1 = ", b1) fmt.Println("b2 = ", b2) // bool类型占用内存空间是一个字节 fmt.Println("b的内存空间 = ",unsafe.Sizeof(b2))}...
package mainimport "fmt"func main() { var age int fmt.Println("请输入年龄:") fmt.Scanln(&age) if age > 18 { fmt.Println("你已成年") }}
package mainimport "fmt"func main() { // 基本数据类型默认值 // 整型 0 浮点型 0 字符串"" 布尔 false var a int // 0 var b float32 //0 var c float64 // 0 var isBool bool // false var str string // "" fmt.Printf("a=%d, b=%v, c=%v, isBool=%v, str=%v", a, b, c, isBo.
类型 占用存储空间 表示范围 float32 4字节 -3.403E38~3.403E38 float64 8字节 -1.798E308~1.798E308 package mainimport "fmt"func main() { // 浮点类型 var money = 99.99 fmt.Println("money :",money) var f32 float32 = -0.001 var f64 float...
package mainimport "fmt"func main() { // 查看某个变量数据类型 x:= 10 // Printf() 格式化输出 fmt.Printf("x的类型是%T",x) // x的类型是int}
package mainimport "fmt"func main() { // 关系运算符 ==、 !=、< 、>、>=、<= var n1 = 1 var n2 = 2 fmt.Println(n1 == n2) // false fmt.Println(n1 != n2) // true fmt.Println(n1 < n2) // true fmt.Println(n1 > n2) // false fmt.Println(n1 >.
package mainimport ( "fmt" "strconv")func main() { // 基本数据类型转换 // Go赋值需要显式转换,表达式T(v)将值v转为T类型 var a int32 = 100 var b float64 = float64(a) fmt.Println(b) var c int8 = int8(a) fmt.Println(c) // int64转为int8编译不会报错,结果会按照溢出处理,与我们希望的结果不一样 v.
package mainimport "fmt"func main() { // 字符串类型 var s1 string = "深圳" fmt.Println(s1) // 字符串是不可变的 s2 := "hello" // s2[0] = g 错误 fmt.Println(s2) // 反引号原样输出 var y = `var s1 string = "深圳" fmt.Println(s1)` fmt.Println(y) // 字符串拼接 va.
package mainimport "fmt"func main() { // 字符类型,存储单个字符,一般用byte,Go的字符串是由字节组成 // byte [0-1 a-z,A-Z] var s1 byte = 'a' var s2 byte = '0' // 直接输出则对应的字符的码值 fmt.Println("s1 = ", s1) // 97 fmt.Println("s2 = ", s2) // 48 // 输出字符串则使用格式化输出 fmt.Printf("s.
package mainimport ( "fmt" "unsafe")func main() { // 查看某个变量占用字节大小 var a int64 = 10 fmt.Printf("x的字节数是%d", unsafe.Sizeof(a)) // 8}
package mainimport "fmt"func main() { var age int fmt.Println("请输入年龄:") fmt.Scanln(&age) if age > 18 { fmt.Println("你已成年") } else { fmt.Println("你未成年"); }}
package mainimport "fmt"func main() { // 指针类型, 指针变量存的是一个地址,这个地址指向的空间才是值, 指针本身也有一个地址 // 获取变量的地址用& // 获取指针所指向的值用* var a int = 10 fmt.Println("a的地址:", &a) // 0xc00000a0c0 // ptr是一个指针变量,类型是*int,ptr本身的值是&i var ptr *int = &a fmt.Pr.
main.gopackage mainimport ( "fmt" "html/template" "net/http")func sayHello(w http.ResponseWriter, r *http.Request) { // 解析模板 t, err := template.ParseFiles("./hello.tmpl") if err != nil { fmt.Println("Parse template failured, error: %v", err)
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号