언어를 일정하게 이동
상수 값은 간단한 식별자, 프로그램이 실행되는 금액은 수정되지 않습니다.
정수 데이터 유형은 부울, 숫자 (정수, 부동 소수점과 복소수) 및 문자열이 될 수 있습니다.
상수 정의 형식 :
const identifier [type] = value
컴파일러의 유형에 변수의 값을 추정 할 수 있기 때문에, 형태 지정자 [형]를 생략 할 수있다.
- 명시 적 유형 정의 :
const b string = "abc"
- 암시 적 유형 정의 :
const b = "abc"
다음 구문의 동일한 유형의 다수의 축약 될 수있다 :
const c_name1, c_name2 = value1, value2
다음은 상수의 응용 프로그램을 보여줍니다
package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int = 5 var area int const a, b, c = 1, false, "str" //多重赋值 area = LENGTH * WIDTH fmt.Printf("面积为 : %d", area) println() println(a, b, c) }
위의 운영 결과의 예는 다음과 같습니다 :
面积为 : 50 1 false str
상수는 열거 할 수 있습니다 :
const ( Unknown = 0 Female = 1 Male = 2 )
숫자 0, 1, 2, 각각 성별 불명, 여성과 남성의 대신.
상수 LEN ()가, 캡 () unsafe.Sizeof ()은 상수 식의 값을 계산하는데 사용할 수있다. 상수 표현은, 함수가 기능 내장,하지만 그렇지 않으면 컴파일러해야합니다 :
package main import "unsafe" const ( a = "abc" b = len(a) c = unsafe.Sizeof(a) ) func main(){ println(a, b, c) }
위의 운영 결과의 예는 다음과 같습니다 :
abc 3 16
이오타
IOTA 특별한 상수 컴파일러의 변형이 일정 할 수있는 고려 될 수있다.
const 키워드의 각이 0으로 재설정 한 다음 const를하기 전에 다음 한 번 모든 오타를 나타납니다 나타나면, 그들은 숫자가 자동으로 하나 증가 나타냅니다.오타는 열거 형 값으로 사용할 수 있습니다 :
const ( a = iota b = iota c = iota )
IOTA 새로운 라인이 사용될 때마다 0이 제 IOTA은, 자동으로 하나의 값에 추가 될 때문에 A = 0, B = 1, C 2가 축약 될 수 = 다음과 같다 :
const ( a = iota b c )
이오타 사용
package main import "fmt" func main() { const ( a = iota //0 b //1 c //2 d = "ha" //独立值,iota += 1 e //"ha" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢复计数 i //8 ) fmt.Println(a,b,c,d,e,f,g,h,i) }
위의 운영 결과의 예는 다음과 같습니다 :
0 1 2 ha ha 100 100 7 8
흥미로운 예 오타를 봐 :
package main import "fmt" const ( i=1<<iota j=3<<iota k l ) func main() { fmt.Println("i=",i) fmt.Println("j=",j) fmt.Println("k=",k) fmt.Println("l=",l) }
위의 운영 결과의 예는 다음과 같습니다 :
i= 1 j= 6 k= 12 l= 24
오타가 자동으로 1을 추가하는 0이고, 그래서 = 1 << 0, J = 3 << 1 (<< 왼쪽 시프트 의미 대표), 즉 : 난 = 1, J = 6이 아무 문제 없습니다, 키 K 및 리터, 모양의 출력, K = 3 << 2, L = 3 << 3.