设为首页 加入收藏

TOP

golang学习笔记(一)
2017-09-30 13:35:44 】 浏览:5661
Tags:golang 学习 笔记
注释
单行 //   
多行 /*  这是注释的内容 */
 
打印 信息 
import "fmt"
fmt.Println("message to be printed");
 
数值类型
int8 , int16 int32 int64
float32 float64
complex
 
布尔类型
bool
 
字符串
string
 
字符串与其他类型转换   import "strconv" 
 字符串转换到其他类型
package main

import (
    "fmt"
    "strconv"
)

func main() {
    a := "123"
    x, err := strconv.Atoi(a)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(x)

    b, _ := strconv.ParseBool("true")
    c, _ := strconv.ParseFloat("3.1415", 64)
    if b {
        fmt.Println("b is true")
    } else {
        fmt.Println("b is false")
    }

    fmt.Println(c)
}

其他类型转换到字符串

package main

import (
    "fmt"
    "strconv"
)

func main() {
    a := 123
    x := strconv.Itoa(a)
    fmt.Println(x)

    x = strconv.FormatBool(true)
    fmt.Println(x)
    x = strconv.FormatFloat(3.1415, 'E', -1, 64)
    fmt.Println(x)
    x = strconv.FormatInt(-42, 10)
    fmt.Println(x)
    x = strconv.FormatUint(42, 16)
    fmt.Println(x)
}
字符串 截取, 判断包含   import "strings" 
package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.HasPrefix("Gopher", "Go"))                 //前者是否以后者开头
    fmt.Println(strings.HasSuffix("Amigo", "go"))                  //前者是否以后者结束
    fmt.Println(strings.Contains("seafood", "foo"))                // 前者是否包含后者
    fmt.Println(strings.Index("chicken", "ken"))                   // 后者在前者的位置,以0开始, 不在则得到 -1
    fmt.Printf("%q\n", strings.Split("a,b,c", ","))                // 以后者分割前者
    fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) // 掐头去尾中的空白符
}

 

以上输出
true
true
true
4
["a" "b" "c"]
a lone gopher

 

 
指针
 
格式化输出
%d 十进制数字  %o 八进制数字 %b 二进制数字 %x十六进制数字 %s 字符串 %v 任意变量按默认格式输出
更多详情 参考  https://golang.org/pkg/fmt/ 
 
常量使用驼峰命名法, 第一个字符大小写由可见性决定是否小大写
 
值拷贝类型
整型 浮点型 布尔型 string array struct
引用传递类型
slice map 

 

数组
声明格式 var name [num]type, 如果初始化能确定的给出元素,可以省略人工数个数,让编译器自动推导, 但是要用 三个点代替。。 因为如果是空就是切片而不是数组了
 
切片 Slice
切片的声明和数组非常像 只要不给定长度就是切片letters := []string{"a", "b", "c", "d"}
如果一开始不能定下元素, 后面动态设置元素的话, 可以用 make 内置函数 创建一个空切片
 func make([]T, len, cap) []T
https://blog.golang.org/go-slices-usage-and-internals  
 
字典/映射 Map
创建一个空 Map  
mymap :=  make(map[key-type]val-type).
例如 

 

 1 m := make(map[string]int)  // 创建
 2 m["k1"] = 7  //
 3 m["k2"] = 13 //
 4 fmt.Println("map:", m)
 5 v1 := m["k1"]  //
 6 fmt.Println("v1: ", v1)
 7 fmt.Println("len:", len(m))
 8 delete(m, "k2")  //
 9 fmt.Println("map:", m)
10 
11 // 第一个返回值是value, 第二个返回值是bool, 如果key不存在或者 value是零值 则返回fa
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇grpc-gateway:grpc转换为http协.. 下一篇Golang 笔记 1 基础、基本数据类型

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目