包含标签 go 的文章

如何调用 Golang 私有函数(绑定到隐藏符号)

变量名称在 Golang 中的重要性和任何其他语言一样。但是在 golang 中,它们甚至具有语义效果:变量第一个字符大写则在外部可见。 有时为了更好地组织代码,或者访问包中对外隐藏的函数(外部不可见的函数),需要突破这个限制。 golang 源码中大量使用了这些技术 这也是相关技术信息的主要来源。而网上相关信息明显不足。 在……

阅读全文

仅需三个步骤即可构建最小的 Docker 映像

Go——仅需三个步骤即可构建最小的 Docker 映像 当您为 docker 构建 Go 应用程序时,通常从诸如 golang:1.13 之类的映像开始。但将这个映像实际运行时会浪费资源。让我们看一下如何将 Go 应用程序构建为绝对最小的 Docker 映像。 1. 选择 Go 版本 尽管使用 golang:latest 或者 仅使用 golang 的版本镜像很诱人,但由于各种问题,这样做都不太好,其中主要的一个问……

阅读全文

Go 编译器概述

首发于:https://studygolang.com/articles/24554 本文基于 Go 1.13 Go 编译器是 Go 生态系统中的一个重要工具,因为它是将程序构建为可执行二进制文件的基本步骤之一。编译器的历程是漫长的,它先用 C 语言编写,迁移到 Go,许多优化和清理将在未来继续发生,让我们来看……

阅读全文

Ubuntu 18.04 安装 k8s

更换 软件源 翻墙 基本配置 内存交换 防火墙 selinux 安装 docker 配置 kubernetes 源 + 安装工具 kubelet kubeadm kubectl sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl 没有梯子的启动方法 有梯子 FAQ apt-get update locked root@ubuntu:/etc/apt# apt-get update 正在读取软件包列表。.. 完成 E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 其……

阅读全文

ubuntu 权限相关

用户 who 命令用于查看当前所有登录系统的用户信息 whoami 该命令用户查看当前系统当前账号的用户名。 cat /etc/passwd 查看系统用户信息 su 切换用户, 后面可以加“-”。 su = su root 切换到 root 用户 su - 切换到 root 用户,同时切换目录到/root su - root 切换到 root 用户,同时切换目录到/root su - 普通用户 切换到普通用户,同时切换普……

阅读全文

理解 Go 的空接口

空接口可用于保存任何数据,它可以是一个有用的参数,因为它可以使用任何类型。要理解空接口如何工作以及如何保存任何类型,我们首先应该理解空接口名称背后的概念。 接口(interface{}) Jordan Oreilli 对空接口的一个很好的定义: 接口是两件事物:它是一组方法,但它也是一种类型。 interface{} 类型是没有方法的……

阅读全文

使用 Goland 安装多个版本的 go

前言 windows 环境上,使用安装包安装多个版本 go 时,发现必须得卸载之前的版本。 开始 发现 使用 goland 时发现,goroot 可以选择: 通过 download 添加版本 选择需要版本 go , 选择文件夹, apply 后, goland 会去下载相应版本 go goroot 随需选择使用相应 go 版本即可 参考 goland 官方文档……

阅读全文

Go 中 Byte Rune——类型别名

byte 实质上就是 uint8 类型。byte 用来强调数据是 raw data,而不是数字; rune 实质上就是 int32 类型。而 rune 用来表示 Unicode 的 code point。 uint8 the set of all unsigned 8-bit integers (0 to 255) int32 the set of all signed 32-bit integers (-2147483648 to 2147483647) byte alias for uint8 rune alias for int32 // byte is an alias for uint8 and is equivalent to uint8 in all ways. It is // used, by convention, to distinguish byte values from 8-bit unsigned // integer values. type byte = uint8 // rune is an alias for int32 and is equivalent to int32 in all ways. It is……

阅读全文