기술나눔

Go 언어 소개(1)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Go 모듈은 패키지 검색 메커니즘에 따라 다릅니다.
  • 다운로드한 타사 종속성은 다음 위치에 저장됩니다. $GOPATH/pkg/mod 아래에
  • go install로 생성된 실행 파일은 다음 위치에 저장됩니다. $GOPATH/bin아래에
  • 검색 순서에 따라 다름:
    • 작업 목록
    • $GOPATH/패키지/모드
    • $GOPATH/소스

1. Go 언어의 기초

1. 식별자 및 키워드

1.1 명명 방법

Go 변수, 상수, 사용자 정의 유형, 패키지 및 함수의 이름 지정은 다음 규칙을 따라야 합니다.

첫 번째 문자는 다음과 같습니다.任意Unicode字符또는下划线

첫 번째 문자 이외의 부분은 유니코드 문자, 밑줄 또는 숫자일 수 있습니다.

이름 길이에는 제한이 없습니다.

이론적으로는 이름에 한자가 포함될 수도 있고 심지어 모두 한자가 포함될 수도 있지만 실제로는 이렇게 하지 마세요.

1.2 키워드
부서지다기본기능상호 작용선택하다
사례연기하다가다지도구조
또 다른이동패키지스위치
구성하다만약에범위유형계속하다
~을 위한수입반품실패로 끝나다변수
1.3 예약어

•끊임없는

true false iota nil

•데이터 유형

int int8 int16 int32 int64

uint uint8 uint16 uint32 uint64

float32 float64

complex128 complex64

byte rune string

bool error uintptr

•기능

make len cap new append copy

close delete complex real imag panic recover

1.4 변수
1.4.1 변수 유형
유형변수 유형 이동fmt 출력
정수int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64%디
부동 소수점float32 float64%f %e %g
복수형complex128 complex64%V
부울bool%티
바늘uintptr%디
인용하다map slice channel%V
바이트byte%디
모든 문자rune%디
string%에스
실수error%V
1.4.2 변수 초기화
  • 선언 후 명시적으로 초기화하지 않으면 숫자형은 O, 문자열형은 빈 문자열, 불리언형은 false로 초기화된다.

    참조 유형, 함수, 포인터 및 인터페이스가 nil로 초기화됩니다.

    • var 문자열="중국"
    • 변수 a,b int=3,7
    • var a="china", 유형 추론
    • var a,b="중국", 7
  • 함수 내부의 변수(비전역 변수)는 다음을 통해 선언하고 초기화할 수 있습니다.

    • 가:=3
  • 밑줄은 익명 변수를 나타냅니다.

    • _=2+4
  • 익명 변수는 네임스페이스를 차지하지 않고 메모리를 할당하지 않으므로 재사용이 가능합니다.

1.5 상수

상수는 정의할 때 값을 할당해야 하며, 프로그램이 실행되는 동안 해당 값을 변경할 수 없습니다.

const PI float32=3.14

const(
	PI=3.14
	E=2.71
)

const(
  a=100
  b	//100,跟上一行的值相同
  c	//100,跟上一行的值相同
)

const(
	a = iota	//0
  b					//1
  c					//2
  d					//3
)

const(
	a = iota	//0
  b					//1
  _					//2
  d					//3
)

const(
	a = iota	//0
  b	= 30		//30
  c	= iota	//2
  d					//3
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
1.6 리터럴

리터럴: 변수 이름은 표시되지 않지만 값은 직접 표시됩니다.기본 유형의 리터럴은 상수와 동일합니다.

리터럴을 제외한 다른 데이터 유형은 비교할 수 없습니다.

fmt.Printf("9tn"04 ==4.00//用到了整型字面量和浮点型字面量
fmt.Printf("%vn".4i//虚数字面量0.4i
fmt.Printf("%tn", "u4f17'=='//Unicode和rune字面量
fmt.Printf("Hello nWorldn!n"//字符串字面量
  • 1
  • 2
  • 3
  • 4
1.7 변수 범위
전역 변수
var (
  A=3	//全局变量,大写字母开头,所有地方都可以访问,跨package访问时需要带上package名称
	b=4	//全局变量,小写字母开头,本package内都可以访问
  • 1
  • 2
  • 3
  • 4
지역 변수
func fool{
	b:=5 //局部变量,仅本函数内可以访问。内部声明的变量可以跟外部声明的变量有冲突,以内部的为准
  
	{
  	b:=6	//仅小圈定的作用域内可以访问,可以跟外部的变量有冲突
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
1.8 댓글과 godoc
1.8.1 의견의 형태
  • 한 줄 주석.//로 시작
  • 여러 줄 주석. 여러 연속 행은 //로 시작하거나 단락 앞에 /*를 사용하고 단락 끝에 */를 사용합니다.
  • 여러 줄 주석 사이에는 빈 줄이 나타날 수 없습니다.
  • 참고: 주의 집중, TODO: 향후 최적화 필요, 더 이상 사용되지 않음: 변수나 함수를 사용하지 않는 것이 좋습니다.
  • 주석 줄 앞에 들여쓰기를 추가하여 go 코드를 작성할 수 있습니다.
1.8.2 코멘트의 위치
  • 패키지 코멘트. 패키지 xxx 위. 패키지는 한 곳(일반적으로 전용 doc.go)에만 패키지 주석을 작성하면 됩니다.

    packagexxx 한 줄과 패키지에 대한 설명만 있습니다.

  • 주석 구조.위의 유형 xxx 구조체

  • 함수 설명.위 기능 xxx()

  • 줄 주석.행의 위 또는 오른쪽

1.8.3 go 문서
  • go doc는 go와 함께 제공되는 명령입니다.
  • go doc 입장 수업/유틸리티
1.8.4 고독
  • godoc은 프로젝트 코드에 대한 주석 문서의 웹 버전을 내보낼 수 있습니다.
    • go를 먼저 설치해야 golang.org/x/tools/cmd/godoc를 얻을 수 있습니다.
    • http:godoc -http=:6060 시작
    • 브라우저를 사용하여 http://127.0.0.1:6060/pkg/go-course/entrance class를 방문하세요.